1221#13089

1221

1 секунда
256 мегабайтів

Для користувачів Python: переконайтеся, що під час надсилання ви обираєте PyPy3 / PyPy2 (залежно від версії Python, яку ви використовуєте) замість Python3 або Python2.

Дано два масиви і довжини (|a|=|b|=n). Ваше завдання — порахувати кількість коректних виборів індексів, таких що три вибрані значення утворюють невироджений трикутник. Різні вибори індексів рахуються окремо, навіть якщо вони дають однакову мультимножину довжин сторін.

Трійку можна утворити одним із таких способів:

Трикутник зі сторонами (x,y,z) називається невиродженим тоді і тільки тоді, коли виконуються такі умови:

Вхідні дані

Перший рядок містить одне ціле число (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

Loading
Loading

Примітка

У першому наборі вхідних даних єдиний спосіб утворити коректну трійку:

  • Взяти 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. Підзадача ( балів) : (1 \le \sum n \le 100)

  2. Підзадача ( балів) : (1 \le a_1,a_2,\ldots,a_n \le 10) і (1 \le b_1,b_2,\ldots,b_n \le 10).

  3. Підзадача ( балів) : Без додаткових обмежень