#arc145c. [arc145_c]Split and Maximize
[arc145_c]Split and Maximize
問題文
の順列 に対し、スコアを以下で定義します。
を順序を保ったまま二つの長さ の(連続するとは限らない)部分列 $A = (A_1,A_2,\\ldots,A_N),B = (B_1,B_2,\\ldots,B_N)$ に分割する。分割を行ったときに得られる の最大値をスコアとする。
の順列全てについてスコアを計算し、それらの最大値を とします。 の順列のうち、スコアが であるものの個数を で割ったあまりを求めてください。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
入力例 1
2
出力例 1
16
考えられる順列 通りの中で、スコアの最大値 は です。スコアが となる順列は 通りあります。
例えば、順列 は と分割することで、 となります。
入力例 2
10000
出力例 2
391163238
で割ったあまりを答えてください。