#HK3578. 「CCO 2021」奇怪的数字系统

「CCO 2021」奇怪的数字系统

题目描述

译自 CCO 2021 Day1「Weird Numeral System」

Alice 喜欢思考 KK 进制数字系统。在标准的 KK 进制数字系统中,一个整数 nn 可以表示成 dm−1dm−2…d1d0d_{m-1}d_{m-2}\dots d_1d_0,其中:

  • 每个数位 did_i 在集合 {0,1,…,K−1}\{0,1,\dots,K-1\} 中,且
  • $d_{m-1}K^{m-1}+d_{m-2}K^{m-2}+\cdots+d_1K^1+d_0K^0=n$。

例如,在标准的 33 进制中,你需要将 1515 写作 1 2 0,因为 (1)⋅32+(2)⋅31+(0)⋅30=15(1)⋅3^2+(2)⋅3^1+(0)⋅3^0=15。

但标准的 KK 进制系统对 Alice 来说太简单了。她开始思考奇怪的 KK 进制系统。

这个奇怪的 KK 进制系统很像标准 KK 进制系统,但是它的每一位不是 {0,1,…,K−1}\{0,1,\dots,K-1\} 中选取的,而是 {a1,a2,…,aD}\{a_1,a_2,\dots,a_D\}。例如,一个奇怪 33 进制系统,满足 a={−1,0,1}a=\{-1,0,1\},那么你可以将 1515 写作 1 -1 -1 0,因为 (1)⋅33+(−1)⋅32+(−1)⋅31+(0)⋅30=15(1)⋅3^3+(−1)⋅3^2+(−1)⋅3^1+(0)⋅3^0=15。

Alice 现在有 QQ 个整数 n1n_1 到 nQn_Q,她想知道如何将这些整数在一个使用 a1a_1 到 aDa_D 的奇怪 KK 进制系统中表示出来。帮帮她!

输入格式

第一行输入四个整数 K,Q,DK,Q,D 和 MM。

接下来一行输入 DD 个互异整数 a1a_1 到 aDa_D。

接下来 QQ 行,其中第 ii 行输入一个整数 nin_i。

输出格式

输出 QQ 行,第 ii 行输出 nin_i 的奇怪 KK 进制表示。如果有多解,输出任意一种。注意 00 的表示需要至少一位。

如果 nin_i 无解,输出 IMPOSSIBLE。

3 3 3 1
-1 0 1
15
8
-5

1 -1 -1 0
1 0 -1
-1 1 1

10 1 3 2
0 2 -2
17

IMPOSSIBLE

数据范围与提示

对于 100%100\% 的数据,保证 2≤K≤1062\le K\le 10^6,1≤Q≤51\le Q\le 5,1≤D≤50011\le D\le 5001,1≤M≤25001\le M\le 2500,−M≤ai≤M-M\le a_i\le M,−1018≤ni≤1018-10^{18}\le n_i\le 10^{18}。

对于 32%32\% 的子任务,保证 M=K−1≤400,K=D≤801M=K-1\le 400, K=D\le 801。