Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

P153SUMJ - ROUND 3J - Định thức của ma trận

Cho 2 dãy số gồm N phần tử X[N] và Y[N]. Ma trận vuông A với kích thước N x N được xây dựng theo quy tắc như sau: 

A[i][j] = 1 / (X[i]+Y[j])

Định thức của ma trận A sau khi được rút gọn có giá trị bằng P/Q. Nhiệm vụ của bạn là hãy tính giá trị P*Q-1 modulo 1000000007 (10^9+7). Kí hiệu Q-1 là mod nghịch đảo của Q theo modulo 10^9+7.

Input của bài toán đảm bảo rằng giá trị Q luôn luôn khác 0.

Input

Dòng đầu tiên là số lượng bộ test T.

Mỗi test gồm số đầu tiên N – kích thước của ma trận.

N dòng tiếp theo biểu diễn dãy số X[], N dòng tiếp biểu diễn dãy số Y[].

Giới hạn: T <= 10, N <= 3000, X[i], Y[i] <= 10^9.

Output

Với mỗi test hãy in ra kết quả của bài toán.

Example

Input:

2

2

1 4

3 2

2

11 13

19 29

Output:

994047626

743762406

 

Giải thích test 1:


Được gửi lên bởi:adm
Ngày:2015-07-16
Thời gian chạy:2s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.