atcoder#AGC012F. [AGC012F] Prefix Median

[AGC012F] Prefix Median

Score : 20002000 points

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 \leq N \leq 50
  • 1ai2N11 \leq a_i \leq 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.

2
1 3 2
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.

4
1 3 2 3 2 4 3
16
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
911828634

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