직접 고르는 계산

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

워털루에 가 본 적이 있다면 거위를 본 적이 있을 것이다. 그런데 계산기로 거위를 만들어 낼 수 있을까? $6$에서 시작해 $7$을 더하고, $6$을 곱하고, $8$을 곱하고, $7$을 더하고, $8$을 곱하고, 마지막으로 $7$을 곱하면 $35336$이 된다. 이 계산기를 거꾸로 뒤집으면 gEESE라고 읽힌다.

거꾸로 뒤집은 계산기에 나타난 gEESE

이런 장난을 자동으로 만들어 주는 프로그램을 작성하려고 한다. 그런데 이 계산기는 고장 난 버튼이 많다. 아직 작동하는 연산자는 $+$와 $\times$뿐이고, 숫자 키도 일부만 눌린다. 목표 값이 주어졌을 때, 한 자리 숫자 입력과 정해진 횟수의 연산만으로 반쯤 고장 난 계산기가 그 값에 도달할 수 있는지 판단하라.

참고: 이 계산기는 연산자를 입력하는 즉시 계산을 수행하며, 일반적인 연산 우선순위를 따르지 않는다. 예를 들어 $2 + 3 \times 4$는 왼쪽부터 차례로 계산되어 $(2 + 3) \times 4 = 20$이 되고, $2 + 12 = 14$가 되지 않는다.

입력

첫째 줄에는 반드시 사용해야 하는 연산의 횟수 $W$가 주어진다 ($0 \le W \le 6$).

둘째 줄에는 작동하는 숫자 키의 개수 $D$가 주어진다 ($1 \le D \le 10$).

이어지는 $D$개의 줄에는 각각 작동하는 숫자가 하나씩 주어진다. 이 숫자들은 $0$부터 $9$까지의 서로 다른 정수이다.

그다음 줄에는 목표 값의 개수 $V$가 주어진다 ($1 \le V \le 5$).

이어지는 $V$개의 줄에는 각각 $0$ 이상 $5000000$ 이하의 정수가 하나씩 주어지며, 이는 계산기에 나타나게 하고 싶은 목표 값이다.

출력

목표 값마다 한 줄씩, 모두 $V$개의 줄을 출력한다. 각 목표 값에 대해, $D$개의 주어진 숫자로 정확히 $W$번의 연산을 사용해 그 값에 도달할 수 있으면 Y를, 도달할 수 없으면 N을 출력한다.

정확히 말하면, 목표 값 $T$는 다음과 같이 도달할 수 있으면 가능한 것이다: $D$개의 숫자 중 하나에서 시작하여, 그 숫자들 중 하나를 더하거나 곱하는 연산을 정확히 $W$번 수행해 $T$에 도달하는 경우이다. 숫자는 여러 번 다시 사용할 수 있고, 모든 숫자를 사용할 필요는 없다. 여러 자리 수를 한 번에 입력할 수는 없다.