special multiple

2 secs 1024 MB
number_cat's icon number_cat

問題文

20×A1,21×A1,,210100×A1,20×A2,21×A2,,210100×A2,,20×AN,21×AN,,210100×AN2^0\times A_1, 2^1\times A_1, \cdots , 2^{10^{100}}\times A_1, 2^0\times A_2, 2^1\times A_2, \cdots , 2^{10^{100}}\times A_2, \cdots , 2^0\times A_N, 2^1\times A_N, \cdots , 2^{10^{100}}\times A_N のうち, KK 番目に小さいものの値を 998244353998244353 で割ったあまりを求めてください.

制約

  • 1N30001 \leq N \leq 3000
  • 1K10181 \leq K \leq 10^{18}
  • 1Ai10181 \leq A_{i} \leq 10^{18}

入力

入力はすべて整数である.

N KN\ K
A1  ANA_1\ \cdots\ A_N

出力

KK 番目に小さいものの値を 998244353998244353 で割ったあまりを出力してください.

サンプル

入力1
2 5
3 7
出力1
14

3,6,12,24,48,,7,14,28,56,3, 6, 12, 24, 48, \cdots, 7, 14, 28, 56, \cdots のうち 55 番目に小さいものは 1414 です.

入力2
3 3
1 2 5
出力2
2

小さい順に並べると 1,2,2,4,4,5,1, 2, 2, 4, 4, 5, \cdots となります.

入力3
5 358174638580585633
4763392737 7962816909 9674708836 5552766971 9975898390
出力3
759464944

998244353998244353 で割ったあまりを出力してください.

提出


Go (1.21)