atcoder#ARC093D. [ARC093F] Dark Horse
[ARC093F] Dark Horse
配点 : 点
問題文
人の選手がおり、それぞれ の番号がついています。 これらの選手でトーナメントを行うことにしました。
トーナメントは以下のようにして行われます。
- の置換 を選ぶ。
- 選手たちが選手 , 選手 , , 選手 の順に一列に並ぶ。
- 列に残っている選手が 人だけになるまで、以下を繰り返す。- 列の前から 番目と 番目、 番目と 番目、 の選手が対戦を行う。 負けた選手は列から離れる。勝った選手たちは相対順序を保ったまま改めて一列に並ぶ。
- 列の前から 番目と 番目、 番目と 番目、 の選手が対戦を行う。 負けた選手は列から離れる。勝った選手たちは相対順序を保ったまま改めて一列に並ぶ。
- 最後まで残った選手が優勝である。
人の選手が対戦したときの結果は、入力として与えられる 個の 整数 を用いて以下のように書けることが分かっています。
- ある について のとき、選手 と選手 () が対戦すると選手 が勝つ。
- どの についても のとき、選手 と選手 () が対戦すると選手 が勝つ。
- のとき、選手 と選手 が対戦すると選手 が勝つ。
このトーナメントの優勝者は、最初に選ぶ置換 だけに依存します。 トーナメントを行う際に最初に選ぶ置換 であって、 トーナメントの結果選手 が優勝するようなものの個数を で割ったあまりを求めてください。
制約
- ()
- ()
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
2 1
3
8
条件を満たす としては や などが、条件を満たさない としては や などがあります。
4 3
2 4 6
0
3 0
40320
3 3
3 4 7
2688
16 16
5489 5490 5491 5492 5493 5494 5495 5497 18993 18995 18997 18999 19000 19001 19002 19003
816646464