PivotOJ

Smaller Averages

시간 제한: 2000ms메모리 제한: 1024MB출처: USACO 2024 Open GoldBOJ 31768

문제

Bessie has two arrays of length NN (1N5001 \le N \le 500). The ii-th element of the first array is aia_i (1ai1061 \le a_i \le 10^6) and the ii-th element of the second array is bib_i (1bi1061 \le b_i \le 10^6).

Bessie wants to split both arrays into non-empty subarrays such that the following is true.

  1. Every element belongs in exactly 1 subarray.
  2. Both arrays are split into the same number of subarrays. Let the number of subarrays the first and second array are split into be kk (i.e. the first array is split into exactly kk subarrays and the second array is split into exactly kk subarrays).
  3. For all 1ik1 \le i \le k, the average of the ii-th subarray on the left of the first array is less than or equal to the average of the ii-th subarray on the left of the second array.

Count how many ways she can split both arrays into non-empty subarrays while satisfying the constraints modulo 109+710^9+7. Two ways are considered different if the number of subarrays are different or if some element belongs in a different subarray.

입력

The first line contains NN.

The next line contains a1,a2,...,aNa_1,a_2,...,a_N.

The next line contains b1,b2,...,bNb_1,b_2,...,b_N.

출력

Output the number of ways she can split both arrays into non-empty subarrays while satisfying the constraints modulo 109+710^9+7.

예제

예제 1

입력
2
1 2
2 2
출력
2

예제 2

입력
3
1 3 2
2 2 2
출력
3

예제 3

입력
5
2 5 1 3 2
2 1 5 2 2
출력
1

예제 4

입력
7
3 5 2 3 4 4 1
5 3 5 3 3 4 1
출력
140
코드를 제출하려면 로그인하세요.