만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

기묘한 진법 표현

시간 제한1.5초메모리 제한512 MB

요약
기저 K와 숫자 집합 a가 주어질 때, Q개의 정수를 각각 K의 거듭제곱과 숫자의 곱의 합으로 표현합니다. 표현이 없으면 IMPOSSIBLE을 출력합니다.
난이도

보통10점 중 7점

유형
정수론, 동적 계획법, BFS
정답자
아직 제출이 없습니다

문제

앨리스는 기수 K 진법에 대해 생각하는 것을 좋아한다. 표준 K진법에서 정수 nn은 다음 조건을 만족하는 dm−1dm−2…d1d0d_{m-1} d_{m-2} \ldots d_1 d_0로 나타낼 수 있다.

  • 각 자릿수 did_i는 {0,1,…,K−1}\{0, 1, \ldots, K-1\}에 속한다.
  • dm−1Km−1+dm−2Km−2+⋯+d1K1+d0K0=nd_{m-1}K^{m-1} + d_{m-2}K^{m-2} + \cdots + d_1K^1 + d_0K^0 = n

예를 들어 표준 3진법에서 15는 1 2 0으로 쓴다. (1)⋅32+(2)⋅31+(0)⋅30=15(1) \cdot 3^2 + (2) \cdot 3^1 + (0) \cdot 3^0 = 15이기 때문이다.

앨리스에게 표준 K진법은 너무 쉬우므로, 그녀는 대신 기묘한 K진법을 생각한다. 기묘한 K진법은 자릿수를 {0,…,K−1}\{0, \ldots, K-1\} 대신 {a1,a2,…,aD}\{a_1, a_2, \ldots, a_D\}에서 고른다는 점만 빼면 표준 K진법과 같다. 예를 들어 a={−1,0,1}a = \{-1, 0, 1\}인 기묘한 3진법에서 15는 1 -1 -1 0으로 쓴다. (1)⋅33+(−1)⋅32+(−1)⋅31+(0)⋅30=15(1) \cdot 3^3 + (-1) \cdot 3^2 + (-1) \cdot 3^1 + (0) \cdot 3^0 = 15이기 때문이다.

앨리스는 자릿수 a1a_1부터 aDa_D까지를 사용하는 기묘한 K진법으로 정수 n1n_1부터 nQn_Q까지 QQ개를 쓰려고 한다. 그녀를 도와라.

입력

첫 줄에 공백으로 구분된 네 정수 KK, QQ, DD, MM이 주어진다 (2≤K≤10000002 \le K \le 1000000, 1≤Q≤51 \le Q \le 5, 1≤D≤50011 \le D \le 5001, 1≤M≤25001 \le M \le 2500).

둘째 줄에는 서로 다른 DD개의 정수 a1a_1부터 aDa_D가 주어진다 (−M≤ai≤M-M \le a_i \le M).

마지막으로 다음 QQ개의 줄 중 ii번째 줄에 nin_i가 주어진다 (−1018≤ni≤1018-10^{18} \le n_i \le 10^{18}).

출력

QQ개의 줄을 출력한다. ii번째 줄에는 nin_i의 기묘한 K진법 표현을 출력한다. 가능한 표현이 여러 개라면 어느 것을 출력해도 된다. 표현의 자릿수는 공백으로 구분한다. 0도 비어 있지 않은 자릿수 집합으로 표현해야 함에 유의하라.

가능한 표현이 없으면 IMPOSSIBLE을 출력한다.

예제2

  1. 예제 1

    입력
    3 3 3 1
    -1 0 1
    15
    8
    -5
    
    예상 출력
    1 -1 -1 0
    1 0 -1
    -1 1 1
    
  2. 예제 2

    입력
    10 1 3 2
    0 2 -2
    17
    
    예상 출력
    IMPOSSIBLE