#arc128f. [arc128_f]Game against Robot
[arc128_f]Game against Robot
問題文
から までの番号のついた 枚のカードがあり,カード には整数 が書かれています. なお, は偶数です.
すぬけくんとロボットがゲームをします. ゲームは,以下のように進行します.
- ゲームマスターが の順列 を宣言する. この順列はすぬけくんとロボット両方に知らされる.
- その後,すぬけくんからはじめて,両者が交互に手番をプレイする. 各手番では以下のことが起こる.
- すぬけくんの手番: 残っているカードの中から好きなものを一つ選び,食べる.
- ロボットの手番: 残っているカードのうち, が最大となるカード を選び,燃やす.
- カードがなくなったらゲームは終了する.
最終的なゲームのスコアは,すぬけくんが食べたカードに書かれた整数の総和です. すぬけくんは,ゲームのスコアを最大化するように最適な行動をします.
順列 は 通り考えられますが,これらすべてについてゲームのスコアを求め,その総和を で割った余りを求めてください.
制約
- は偶数
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
出力
答えを出力せよ.
入力例 1
2
1 2
出力例 1
4
順列 に依らず,すぬけくんはカード を食べます.
入力例 2
4
1 100 10000 1000000
出力例 2
24200400
例えば であるとき,ゲームは以下のように進行します.
- すぬけくんがカード を食べる.
- ロボットがカード を燃やす.
- すぬけくんがカード を食べる.
- ロボットがカード を燃やす.
このとき,ゲームのスコアは になります.
入力例 3
10
866111664 178537096 844917655 218662351 383133839 231371336 353498483 865935868 472381277 579910117
出力例 3
710984634