atcoder#AGC012F. [AGC012F] Prefix Median

[AGC012F] Prefix Median

配点 : 20002000

問題文

すぬけくんは長さ 2N12N-1 の数列 aa をもらいました。

すぬけくんは aa を自由に並び替えたあと、aa を使って新しい数列 bb を作りました。bb は以下に示されるような長さ NN の数列です。

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

bb としてありうる数列の数を modulo 109+710^{9} + 7 で求めてください。

制約

  • 1N501 \leq N \leq 50
  • 1ai2N11 \leq a_i \leq 2N-1
  • aia_i は整数

入力

入力は以下の形式で標準入力から与えられる。

NN

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

出力

答えを出力せよ。

2
1 3 2
3

bb としてありうる数列は (1,2),(2,2),(3,2)(1,2),(2,2),(3,2)33 通りです。これらはそれぞれ (1,2,3),(2,1,3),(3,1,2)(1,2,3),(2,1,3),(3,1,2) から作ることが可能です。

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

109+710^{9} + 7 で割ったあまりを求めてください。