AT_arc108_e [ARC108E] Random IS
Description
[problemUrl]: https://atcoder.jp/contests/arc108/tasks/arc108_e
$ N $ 脚のイスが左から右に並んでいます。 左から $ i $ 番目のイスのIDは $ a_i $ です。ここで、$ a_i $ がすべて相異なることが保証されます。
すぬけ君は何脚かのイスに印をつけ、印をつけたイス以外を捨てることにしました。はじめ、どのイスにも印はついていません。 印のついたイスたちのIDが左から右に単調増加になっているような印のつけ方を *よい印のつけ方* と呼びます。
すぬけ君は以下の手続きに従って印をつけることにしました。
1. イス $ x $ に新たに印をつけても印のつけ方がよい印のつけ方のままであるとき、イス $ x $ を *良いイス* とする。現在の良いイスの脚数を $ k $ とする
2. $ k=0 $ なら印のついていないイスを取り除き手続きを終了する。そうでないなら、$ k $ 脚の良いイスから等確率で $ 1 $ つを選んで印をつけ手順 1 へ戻る
手続き終了時に残るイスの脚数の期待値が有理数になることが証明できます。その値を $ P/Q $ (既約分数)とします。また $ M=10^{9}+7 $ とします。このとき、$ 0 $ 以上 $ M-1 $ 以下の整数 $ R $ がただ一つ存在して $ P\ \equiv\ Q\ \times\ R\ \pmod{M} $ となることが証明でき、その値は $ P\ \times\ Q^{-1}\ \pmod{M} $ と等しくなります。ここで、$ Q^{-1} $ はモジュラ逆数です。$ R $ を求めてください。
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- 与えられる入力は全て整数
- $ 1\ \leq\ N\ \leq\ 2000 $
- $ 1\ \leq\ a_i\ \leq\ N $
- $ a_i $ はすべて相異なる
### Sample Explanation 1
\- はじめにイス $ 1 $(IDが $ 1 $ のイスです) に印がついたとき、最終的に残るイスはイス $ 1,2 $ の $ 2 $ 脚です。 - はじめにイス $ 2 $ に印がついたとき、最終的に残るイスはイス $ 1,2 $ の $ 2 $ 脚です。 - はじめにイス $ 3 $ に印がついたとき、最終的に残るイスはイス $ 3 $ の $ 1 $ 脚です。 - イスは等確率で選ばれるので手続き終了時に残るイスの脚数の期待値は $ \frac{5}{3} $ となります。$ 5\ \equiv\ 3\ \times\ 666666673\ \pmod{M} $ より、$ R=666666673 $ です。