Зважений рядок - це рядок малих англiйських лiтер, де кожна лiтера має вагу. Вагу кожного символу наведено нижче:
Означення для цiєї задачi:
Вага рядка - це сума ваг усiх символiв рядка. Наприклад, для рядка ʼappleʼ маємо 1 + 16 + 16 + 12 + 5 = 50.
Однорiдним рядком називається рядок, який складається лише з одного символу, що повторюється нуль або бiльше разiв. Наприклад, ʼcccʼ i ʼaʼ є однорiдними рядками, а ʼbcbʼ i ʼcdʼ - нi.
Дано рядок ~S~. Нехай ~U~ - це набiр ваг для всiх можливих однорiдних сумiжних пiдрядкiв рядка ~S~. Ви повиннi вiдповiсти на ~N~ запитiв, де кожен запит i складається з одного цiлого числа ~x_i~ . Для кожного запиту виведiть Yes у новому рядку, якщо ~x_i~ належить ~U~; в iншому випадку виведiть No.
Формат вхiдних даних
У першому рядку мiститься рядок ~S~ ~(1 \le |S| \le 10^5 )~.
Наступний рядок мiстить цiле число ~N~ ~(1 \le N \le 10^5 )~ - кiлькiсть запитiв.
Далi iдуть ~N~ рядкiв, якi мiстять запит - одне цiле число ~x_i~ ~(1 \le x_i \le 10^7 )~
Формат вихiдних даних
Для кожного запиту в окремому рядку вивести Yes або No - в залежностi вiд того, чи x i належить U
Приклад вхідних даних
abccddde
6
1
3
12
5
9
10
Приклад вихідних даних
Yes
Yes
Yes
Yes
No
No
Пояснення
Iлюстрацiя прикладу вхiдних даних:
Коментарі