Для користувачів Python: переконайтеся, що під час надсилання ви обираєте PyPy3 / PyPy2 (залежно від версії Python, яку ви використовуєте) замість Python3 або Python2.
Дано два масиви і довжини (|a|=|b|=n). Ваше завдання — порахувати кількість коректних виборів індексів, таких що три вибрані значення утворюють невироджений трикутник. Різні вибори індексів рахуються окремо, навіть якщо вони дають однакову мультимножину довжин сторін.
Трійку можна утворити одним із таких способів:
Вибрати один індекс з масиву і два різні індекси з масиву та утворити трійку (a_i,b_j,b_k).
Вибрати два різні індекси з масиву і один індекс з масиву та утворити трійку (a_i,a_j,b_k).
Трикутник зі сторонами (x,y,z) називається невиродженим тоді і тільки тоді, коли виконуються такі умови:
x+y>z
x+z>y
y+z>x
Перший рядок містить одне ціле число (1 \le t \le 100) — кількість наборів вхідних даних.
Для кожного набору вхідних даних: Перший рядок містить одне ціле число (2 \le n \le 2000) — довжину масивів і .
Другий рядок містить цілих чисел a_1,a_2,\dots,a_n (1 \le a_i \le 10^9) — елементи масиву .
Третій рядок містить цілих чисел b_1,b_2,\dots,b_n (1 \le b_i \le 10^9) — елементи масиву .
Гарантується, що сума по всіх наборах вхідних даних не перевищує .
Для кожного набору вхідних даних виведіть одне ціле число — загальну кількість коректних трійок.
Приклад 1
У першому наборі вхідних даних єдиний спосіб утворити коректну трійку:
Взяти x=a_1=2, y=a_2=3 з масиву і z=b_1=4 з масиву
У другому наборі вхідних даних є три способи утворити коректну трійку:
(2,3,2) Взяти x=a_1=2, y=a_2=3 з масиву і z=b_1=2 з масиву
(2,3,4) Взяти x=a_1=2, y=a_2=3 з масиву і z=b_2=4 з масиву
(2,4,3) Взяти x=b_1=2, y=b_2=4 з масиву і z=a_2=3 з масиву
У третьому наборі вхідних даних є шість способів утворити коректну трійку:
Взяти x=a_1=1, y=a_2=1 з масиву і z=b_1=1 з масиву
Взяти x=a_1=1, y=a_3=1 з масиву і z=b_1=1 з масиву
Взяти x=a_2=1, y=a_3=1 з масиву і z=b_1=1 з масиву
Взяти x=b_2=2, y=b_3=2 з масиву і z=a_1=1 з масиву
Взяти x=b_2=2, y=b_3=2 з масиву і z=a_2=1 з масиву
Взяти x=b_2=2, y=b_3=2 з масиву і z=a_3=1 з масиву
Підзадача ( балів) : (1 \le \sum n \le 100)
Підзадача ( балів) : (1 \le a_1,a_2,\ldots,a_n \le 10) і (1 \le b_1,b_2,\ldots,b_n \le 10).
Підзадача ( балів) : Без додаткових обмежень