#4095. D.操作

D.操作

nn 个数 a1,a2,,ana_1,a_2,\dots,a_n 。保证 1aim1\leq a_i\leq m

初始时有一个变量 X=0X=0 。你要进行 kk 轮操作,每次操作可以任意选择一个 1pn1\leq p\leq npp ,并将 XX 赋值为 gcd(X,ap)\gcd(X,a_p)

(tips: gcd 为最大公约数, gcd(0,x)=x\gcd(0,x)=x

问对于所有 1im1\leq i \leq m ,最终 X=iX=i 的方案数是多少。

两种方案不同,当且仅当存在一个 ii ,满足两种方案第 ii 轮选的 pp 不同。

答案对 998244353998244353 取模。

输入格式

第一行三个整数 n,m,kn,m,k

第二行 nn 个整数 a1,a2,,ana_1,a_2,\dots,a_n

输出格式

输出一行 mm 个整数,第 ii 个表示最终 X=iX=i 的方案数。

样例1输入

6 6 2
1 1 4 5 1 4

样例1输出

31 0 0 4 1 0

数据范围

对于 20%20\% 的数据,满足 n,m,k5n,m,k\leq 5

对于 40%40\% 的数据,满足 n,m,k300n,m,k\leq 300

对于 60%60\% 的数据,满足 n,m,k5000n,m,k\leq 5000

对于 80%80\% 的数据,满足 n,m,k105n,m,k\leq 10^5

对于全部数据,满足 n,m106,1k109n,m\leq 10^6,1\leq k\leq 10^9

}