#abc272h. [abc272_h]Flipping Coins 2

[abc272_h]Flipping Coins 2

問題文

0,1,ldots,N10,1,\\ldots,N-1 の番号がついた NN 枚のコインが並べられています。はじめ、全てのコインは表を向いています。また、 00 以上 N1N-1 以下の整数からなる長さ NN の数列 AA が与えられます。

すぬけ君は (1,ldots,N)(1,\\ldots,N) を並び替えて得られる順列 p=(p1,p2,ldots,pN)p=(p_1,p_2,\\ldots,p_N) を等確率で 11 つ選び NN 回操作を行います。 i(1leqileqN)i\\ (1\\leq i \\leq N) 回目の操作では以下の処理が行われます。

  • コイン (i1)bmodN(i-1) \\bmod N、コイン(i1+1)bmodN(i-1+1 ) \\bmod Nldots\\ldots、コイン (i1+Api)bmodN(i -1+ A_{p_i}) \\bmod N(Api+1)(A_{p_i}+1) 枚のコインを全てひっくり返す。

NN 回の操作の後、表向きのコインの枚数を kk としてすぬけ君はお母さんから kk 円もらえます。

すぬけ君が得られるお金の期待値を textmod998244353\\text{mod } 998244353 で求めてください。

期待値 textmod998244353\\text{mod } 998244353 の定義

この問題で求める期待値は必ず有理数になることが証明できます。 また、この問題の制約下では、求める期待値を既約分数 fracyx\\frac{y}{x} で表したときに xx998244353998244353 で割り切れないことが保証されます。

このとき xzequivypmod998244353xz \\equiv y \\pmod{998244353} を満たすような 00 以上 998244352998244352 以下の整数 zz が一意に定まります。この zz を答えてください。

制約

  • 1leqNleq2times1051 \\leq N\\leq 2\\times 10^5
  • 0leqAileqN10\\leq A_i \\leq N-1
  • 入力は全て整数

入力

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

NN A1A_1 A2A_2 ldots\\ldots ANA_N

出力

答えを出力せよ。


入力例 1

2
0 1

出力例 1

1

pp としてありうるのは (1,2)(1,2)(2,1)(2,1) です。

  • pp として (1,2)(1,2) が選ばれたとき

11 回目の操作ではコイン 00 をひっくり返します。 22 回目の操作ではコイン 11 とコイン 00 をひっくり返します。最終的に表向きのコインはコイン 0011 枚なので、11 円もらえます。

  • pp として (2,1)(2,1) が選ばれたとき

11 回目の操作ではコイン 00 とコイン 11 をひっくり返します。 22 回目の操作ではコイン 11 をひっくり返します。最終的に表向きのコインはコイン 1111 枚なので、11 円もらえます。

以上より、得られるお金の期待値は 11 円 です。


入力例 2

4
3 1 1 2

出力例 2

665496237

期待値を textmod998244353\\text{mod } 998244353 で出力してください。