{"code":"cppb2p207","name":"DSA03007","description":"Cho mảng $A$, $B$ đều có $N$ phần tử. Nhiệm vụ của bạn là tìm giá trị nhỏ nhất của biểu thức $P = A_1*B_1 + A_2*B_2 + ..+ A_{N-1}*B_{N-1} + A_{N}*B_{N}$ bằng cách tráo đổi vị trí các phần tử của cả mảng $A và B$. Chú ý, kết quả của bài toán có thể rất lớn, vì vậy bạn hãy đưa ra kết quả lấy modulo với $10^9+7$.\r\n\r\n#### Input\r\n\r\n- Dòng đầu tiên đưa vào số lượng bộ test $T$ ($1 \\leq T \\leq 100$).\r\n- Những dòng kế tiếp đưa vào các bộ test. Mỗi bộ test gồm $3$ dòng: \r\n    - Dòng thứ nhất đưa vào nguyên $N$ ($1 \\leq N \\leq 10^5$); \r\n    - Dòng tiếp theo đưa vào $N$ số $A_i$ ($1 \\leq i \\leq N, 1 \\leq A_i \\leq 10^{18}$);\r\n    - Dòng cuối cùng đưa vào $N$ số $B_i$ ($1 \\leq i \\leq N, 1\\leq B_i \\leq 10^{18}$);\r\n- Các số được viết cách nhau một vài khoảng trống.\r\n- Tổng tất cả $N$ của $T$ bộ test không quá $10^6$.\r\n\r\n#### Output\r\n\r\n- Đưa ra kết quả mỗi test theo từng dòng.\r\n\r\n#### Example\r\n\r\n???+ question \"Test 1\"\r\n    ???+ \"Input\"\r\n        ```sample\r\n        2\r\n        7\r\n        1 6 3 4 5 2 7\r\n        1 1 1 2 3 4 3\r\n        7\r\n        1 6 3 5 5 2 2\r\n        6 1 9 3 1 2 3\r\n        ```\r\n        \r\n    ???+ success \"Output\"\r\n        ```sample\r\n        45\r\n        57\r\n\r\n        ```","points":100.0,"partial":false,"time_limit":1.0,"memory_limit":262144,"short_circuit":false,"allowed_languages":[3,4,34,36,37,5,6,11,12,14,28,2,38,39,9,18,17,29,23,27,35,25,26,10,7,19,32,1,8,15,16,24,20,33,13,41,21,40],"is_public":true,"is_manually_managed":false,"permissions":{"can_edit":false}}