問題文
正整数 m, 非負整数 a (0leqa<m) および正整数列 A=(A1,ldots,AN) が与えられます.
正整数からなる集合 X を X=x>0midxequivapmodm により定めます.
先手太郎君と後手次郎君が対戦ゲームをします.ゲームでは先手太郎君の手番から始めて,交互に以下の操作を行います.
- 添字 i (1leqileqN) と正整数 xinX の組 (i,x) であって,xleqAi を満たすものをひとつ選ぶ.Ai を Ai−x に変更する.ただしそのような (i,x) が存在しないならば,手番のプレイヤーの負けとしてゲームを終了する.
先手太郎君が最初の手番に選ぶことができる (i,x) のうち,それ以降の手番で両者が最善を尽くした場合に先手太郎君が勝つことができるものの個数を 998244353 で割った余りを答えてください.
制約
- 1leqNleq3times105
- 0leqa<mleq109
- max(1,a)leqAileq1018
入力
入力は以下の形式で標準入力から与えられます.
N m a
A1 A2 ldots AN
出力
先手太郎君が最初の手番に選ぶことができる (i,x) のうち,それ以降の手番で両者が最善を尽くした場合に先手太郎君が勝つことができるものの個数を 998244353 で割った余りを出力してください.
入力例 1
3 1 0
5 6 7
出力例 1
3
X=1,2,3,4,5,ldots です.条件を満たす (i,x) は (1,4), (2,4), (3,4) の 3 個です.
入力例 2
5 10 3
5 9 18 23 27
出力例 2
3
X=3,13,23,33,43,ldots です.条件を満たす (i,x) は (4,23), (5,3), (5,13) の 3 個です.
入力例 3
4 10 8
100 101 102 103
出力例 3
0
先手太郎君は最善を尽くしても勝つことはできません.したがって条件を満たす (i,x) は 0 個です.
入力例 4
5 2 1
111111111111111 222222222222222 333333333333333 444444444444444 555555555555555
出力例 4
943937640
条件を満たす (i,x) は 833333333333334 個あります. 998244353 で割った余りを出力してください.