Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 点
この問題の解説はこちら。
問題文
いろはちゃんは、 個のルーレット用の円盤と十分な個数のルーレット用の球を持っています。各円盤には から までの整数番号が割り振られています。
円盤の周囲には整数が書かれています。具体的には、円盤 の周囲には 個の整数 が書かれています。これらの整数には重複があるかもしれません。
また、円盤 を回してそこに球を転がすと球は のいずれかが書かれたところに入ります。このとき、球が に入る確率は です。
ある日、天才的な発想を持ついろはちゃんはこれらの円盤を使った遊びを思いつきました。それは次のようなものです。
- まず、全ての円盤を回してそれぞれに球を転がす。
- 円盤 の順に、球が入ったところに書いてある整数をつなげて読む。
- 例えば、円盤が 個あり、球が入ったところに書いてある整数が円盤 上でそれぞれ だった時は、 を読み上げることになる。
いろはちゃんは読み上げられる整数の期待値が知りたくなりました。しかし、彼女はプログラマではなかったので期待値を求めることができませんでした。
あなたが優秀なプログラマであるかどうかは知りませんが、プログラマでないいろはちゃんのために期待値を求めてください。
ただし、期待値 (以降 とする) は小数になることがあるので、代わりに (この値は必ず整数になる) を で割った余りを求めてください。
制約
- 入力は全て整数である。
入力
入力は以下の形式で与えられます。
出力
を で割った余りを出力してください。
入力例 1Copy
2 2 11 3 2 9 14
出力例 1Copy
1586
この入力例では 個の円盤があり、それぞれ と が書かれています。
読み上げられる整数としてありうるものは の 個で、それぞれが等確率で出るので期待値は になります。
答えは となります。
入力例 2Copy
3 3 172 11 31 2 701 5 2 12 21
出力例 2Copy
43651798
読み上げられる整数としてありうるものは です。
入力例 3Copy
3 1 1000000000 1 1000000000 1 1000000000
出力例 3Copy
999966190
この入力例では必ず が読み上げられます。
で割った余りを求めることに注意してください。
入力例 4Copy
10 5 371094 2597554 69382646 8 99062422 12 6553139 40789 2519037 81594 46824888 84 4912 27575435 2774 4060 331605 7438162 5 36 65156096 71969458 2 221919 7 738734 979629710 4841 7027881 6107446 267092962 634173170 9 16252 6294622 6670 932636725 8 221842 111612 86053044 823517544 3 589 70 347090831 9 7853 6 3174 1 14675 42 10793760 777031 23350 15 5143 23971 93 68615 4384503 3 5867 96099 81021 10506439 137503 43398308 52626 9895727 3 6 9819 93 808 2025523 36 593697 3 497384 767669 80690
出力例 4Copy
993753975