#arc134e. [arc134_e]Modulo Nim

[arc134_e]Modulo Nim

問題文

すぬけ君は何も書かれていない黒板を見つけました。

すぬけ君が NN 回黒板に操作をします。 ii 回目の操作では黒板に 11 以上 aia_i 以下の整数を選んで書き込みます。

黒板に NN 個の整数が書き込まれたあと、先手太郎君と後手次郎君がこの黒板を使ったゲームで遊ぶ予定です。 ゲームでは先手太郎君から始めて、交互に以下の操作を行います。

  • 黒板に書かれている最大の整数を XX とする。
    • X=0X=0 のとき、手番のプレイヤーの勝ちとしてゲームを終了する。
  • 11 以上 XX 以下の整数を選ぶ(これを mm とする)。
  • 黒板に書かれている NN 個の整数をそれぞれ mm で割ったあまりに置き換える。

すぬけ君の書き込み方は prodi=1Nai\\prod_{i=1}^{N}a_i 通りありえますが、そのうち 22 人が最適に行動したときに勝つのが先手太郎君であるような書き込み方の個数を 998244353998244353 で割ったあまりを求めてください。

制約

  • 与えられる入力は全て整数
  • 1leqNleq2001 \\leq N \\leq 200
  • 1leqaileq2001 \\leq a_i \\leq 200

入力

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

NN a1a_1 a2a_2 cdots\\cdots aNa_N

出力

22 人が最適に行動したときに勝つのが先手太郎君であるような書き込み方の個数を 998244353998244353 で割ったあまりを出力せよ。


入力例 1

1
3

出力例 1

1
  • 先手太郎君が勝つのはすぬけ君が 33 を書き込んだ場合に限られます。
  • それ以外の場合、先手太郎君は黒板に書かれている整数が 00 になるように手を打つしかありません。

入力例 2

2
5 10

出力例 2

47

入力例 3

20
200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200

出力例 3

273710435
  • 998244353998244353 で割ったあまりを求めるのを忘れずに。