atcoder#WTF19E. e

e

配点 : 27182718

問題文

非常に細長いベンチがあります。 このベンチは MM 個の区画に分かれています。ここで、MM は非常に大きい整数です。

はじめ、ベンチには誰も座っていません。 このベンチに MM 人の人たちが一人ずつ訪れ、以下の行動を行います。

  • まだ人が座っておらず、人が座っている区画と隣接もしていないような区画を 快適 であると呼ぶことにする。 快適な区画が存在しなければ、ベンチから立ち去る。 そうでなければ、快適な区画の一つを一様ランダムに選んでそこに座る (人々の座る区画の選択は互いに独立である)。

MM 人全員が上記の行動を取ったあと、すぬけ君は NN 個の連続する区画からなる区間を (MN+1M-N+1 個の候補から) 一様ランダムに選び、その区間の写真を撮ります。 この写真は、X- からなる長さ NN の次のような文字列により表現できます: ii 文字目は、区間の左から ii 番目の区画に人が座っていれば X、そうでなければ - であるような文字列。 なお、写真の左右は区別されます。 例えば、-X--XX--X- は異なる写真です。

撮った写真が与えられる文字列 ss に一致する確率はいくつでしょうか? この確率は MM に依存しますが、MM が限りなく大きくなるときのこの確率の極限を求めてください。

ここで、この極限は 33 つの有理p,q,rp, q, re=2.718e = 2.718 \ldots (自然対数の底) を用いて以下の形式で一意に表せることが証明できます。

p+qe+re2p + \frac{q}{e} + \frac{r}{e^2}

これら 33 つの有理数を求め、それらを注記で述べるように mod 109+710^9 + 7 で出力してください。

注記

有理数を出力する際は、まずその有理数を分数 yx\frac{y}{x} として表してください。ここで、x,yx, y は整数であり、xx109+710^9 + 7 で割り切れてはなりません (この問題の制約下で、そのような表現は必ず可能です)。そして、xzy(mod109+7)xz \equiv y \pmod{10^9 + 7} を満たすような 00 以上 109+610^9 + 6 以下の唯一の整数 zz を出力してください。

制約

  • 1N10001 \leq N \leq 1000
  • s=N|s| = N
  • ssX- からなる。

入力

入力は以下の形式で標準入力から与えられる。

NN

ss

出力

33 つの有理数 p,q,rp, q, r を空白で区切って出力せよ。

1
X
500000004 0 500000003

ランダムに選ばれた区画に人が座っている確率は 1212e2\frac{1}{2} - \frac{1}{2e^2} に収束します。

3
---
0 0 0

人々の行動のあと、人が座っていない区画が 33 つ連続して残ることはありません。

5
X--X-
0 0 1

極限は 1e2\frac{1}{e^2} です。

5
X-X-X
500000004 0 833333337

極限は 12136e2\frac{1}{2} - \frac{13}{6e^2} です。

20
-X--X--X-X--X--X-X-X
0 0 183703705

極限は 7675e2\frac{7}{675e^2} です。

100
X-X-X-X-X-X-X-X-X-X--X-X-X-X-X-X-X-X-X-X-X-X-X-X-X--X--X-X-X-X--X--X-X-X--X-X-X--X-X--X--X-X--X-X-X-
0 0 435664291