FB-строка формируется следующим образом. Изначально она пустая. Рассмотрим все положительные целые числа, начиная с $$$1$$$, в возрастающем порядке, и для каждого из них сделаем следующее:
Обратите внимание, что если число делится и на $$$3$$$, и на $$$5$$$, мы сначала приписываем F, потом B, не в обратном порядке.
Первые $$$10$$$ символов FB-строки — это FBFFBFFBFB: первый символ F соответствует числу $$$3$$$, следующий за ним символ (B) соответствует числу $$$5$$$, следующий F соответствует числу $$$6$$$, и так далее. Легко заметить, что эта строка бесконечна. Обозначим за $$$f_i$$$ $$$i$$$-й символ FB-строки; например, $$$f_1$$$ — это F, $$$f_2$$$ — это B, $$$f_3$$$ —- это F, $$$f_4$$$ — это F, и так далее.
Нам дана строка $$$s$$$, состоящая из символов F и/или B. Вы должны определить, является ли она подстрокой (непрерывной подпоследовательностью) FB-строки. Другими словами, проверьте, можно ли выбрать два целых числа $$$l$$$ и $$$r$$$ ($$$1 \le l \le r$$$) так, чтобы строка $$$f_l f_{l+1} f_{l+2} \dots f_r$$$ была в точности равна $$$s$$$.
Например:
В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 2046$$$) — количество наборов входных данных.
Каждый набор входных данных состоит из двух строк. В первой из них задано одно целое число $$$k$$$ ($$$1 \le k \le 10$$$) — количество символов в $$$s$$$. Во второй задана строка $$$s$$$, состоящая из ровно $$$k$$$ символов. Каждый символ $$$s$$$ — либо F, либо B.
Для каждого набора входных данных выведите YES, если $$$s$$$ — подстрока FB-строки, или NO, если это не так.
Каждую букву можно выводить в любом регистре (например, YES, yes, Yes будут распознаны как положительный ответ, NO, no и nO будут распознаны как отрицательный ответ).
33FFB8BFFBFFBF3BBB
YES YES NO
Название |
---|