Маркеры

Ограничение по времени: 2.000 секунд

Ограничение по памяти: 100.000 мегабайт

В переговорках часто нечем занять руки и под раздачу попадают маркеры - постоянно гнут, крутят... Юле это надоело, и она решила положить туда разные анти-стресс игрушки. Среди них были игральный кубик, который идеально совпадал с клетками, нарисованными на бесконечном столе. Если смотреть на кубик сверху, то изначально на нижней грани было написано число x1, на верхней грани - число x6, на грани, смотрящей на север - x2, на юг - x5, на запад - x3, на восток - x4. Ожидая пока подключится собеседник Настя перекатывала кубик по столу по некоторым правилам. Она поддерживает два значения: число s, изначально равное 0, и направление d, изначально указывающее на север. Затем, она несколько раз производила следующее действие:

  1. Пусть сейчас на верхней грани кубика написано число x. Настя прибавляет x к числу s. А также, x раз поворачивает d по часовой стрелке на 90◦.
  2. Она перекатывает кубик через ребро нижней грани в направлении d. Таким образом, новой нижней гранью становилась боковая грань, которая перед этим смотрела в направлении d.

После встречи Насте стало интересно, чему могло равняться s после нескольких выполненных действий. Помогите ей.

Формат входных данных

В первой строке даны шесть целых чисел x1, x2, x3, x4, x5 и x6 - числа, написанные на гранях кубика (1 ≤ xi ≤ 100).

Во второй строке дано целое число t - количество значений s, которые интересуют Настю (1 ≤ t ≤ 100000).

В следующих t строках дано по одному целому числу qi (1 ≤ qi ≤ 1018).

Формат выходных данных

Для каждого числа qi выведите Yes, если число s могло равняться qi в результате выполнения нескольких действий. И No иначе.

Пример

input output
1 2 3 4 5 6
4
6
8
10
14
Yes
Yes
No
Yes
1 1 1 1 1 1
2
42
12345
Yes
Yes
3 5 2 1 6 4
10
1
2
3
4
5
6
7
8
9
10
No
No
No
Yes
No
No
No
No
No
Yes
Войдите, что бы отправлять решения