FB-строка формируется следующим образом. Изначально она пустая. Рассмотрим все положительные целые числа, начиная с \(1\), в возрастающем порядке, и для каждого из них сделаем следующее:
- если текущее число делится на \(3\), допишем F в конец FB-строки;
- если текущее число делится на \(5\), допишем B в конец FB-строки.
Обратите внимание, что если число делится и на \(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\).
Например:
- FFB — подстрока FB-строки: можно выбрать \(l = 3\) и \(r = 5\), строка \(f_3 f_4 f_5\) — это в точности FFB;
- BFFBFFBF — подстрока FB-строки: можно выбрать \(l = 2\) и \(r = 9\), строка \(f_2 f_3 f_4 \dots f_9\)— это в точности BFFBFFBF;
- BBB — не подстрока FB-строки.
Выходные данные
Для каждого набора входных данных выведите YES, если \(s\) — подстрока FB-строки, или NO, если это не так.
Каждую букву можно выводить в любом регистре (например, YES, yes, Yes будут распознаны как положительный ответ, NO, no и nO будут распознаны как отрицательный ответ).