#agc012f. [agc012_f]Prefix Median

[agc012_f]Prefix Median

Problem Statement

Snuke received an integer sequence aa of length 2N12N-1.

He arbitrarily permuted the elements in aa, then used it to construct a new integer sequence bb of length NN, as follows:

  • b1=b_1 = the median of (a1)(a_1)
  • b2=b_2 = the median of (a1,a2,a3)(a_1, a_2, a_3)
  • b3=b_3 = the median of (a1,a2,a3,a4,a5)(a_1, a_2, a_3, a_4, a_5)
  • ::
  • bN=b_N = the median of (a1,a2,a3,...,a2N1)(a_1, a_2, a_3, ..., a_{2N-1})

How many different sequences can be obtained as bb? Find the count modulo 109+710^{9} + 7.

Constraints

  • 1N501 ≤ N ≤ 50
  • 1ai2N11 ≤ a_i ≤ 2N-1
  • aia_i are integers.

Input

Input is given from Standard Input in the following format:

NN a1a_1 a2a_2 ...... a2N1a_{2N-1}

Output

Print the answer.


Sample Input 1

2
1 3 2

Sample Output 1

3

There are three sequences that can be obtained as bb: (1,2)(1,2), (2,2)(2,2) and (3,2)(3,2). Each of these can be constructed from (1,2,3)(1,2,3), (2,1,3)(2,1,3) and (3,1,2)(3,1,2), respectively.


Sample Input 2

4
1 3 2 3 2 4 3

Sample Output 2

16

Sample Input 3

15
1 5 9 11 1 19 17 18 20 1 14 3 3 8 19 15 16 29 10 2 4 13 6 12 7 15 16 1 1

Sample Output 3

911828634

Print the count modulo 109+710^{9} + 7.