ДНК-послідовність складається з чотирьох можливих нуклеобаз: аденіну, гуаніну, тиміну та цитозину. Кожна база позначається першою літерою своєї назви. У цій задачі нуклеобази мають циклічний порядок: змінюється на , потім , потім , а далі знову .
Останні дослідження в геномиці показали, що багато хвороб викликаються тим, що деякі підпослідовності баз не утворюють паліндром. Як провідному досліднику лабораторії ICPC, вам надано ДНК-рядок та низку підмножин P_1, \ldots, P_t, кожна з яких містить індекси (нуклеобаз) у . Ваше завдання — перетворити так, щоб для кожної з цих підмножин обмеження до P_1, \ldots, P_t було паліндромом. (Обмеження на підмножину P = \{i_1, i_2, \ldots, i_k\}, де 0 \leq i_1 < i_2 < \ldots < i_k < |S|, — це рядок S_{i_1}S_{i_2}\ldots S_{i_k}.)
Ви можете переглядати будь-яку базу , проте дозволено лише три операції над базою:
Залишити її незмінною.
Збільшити її на у циклічному порядку нуклеобаз (наприклад, змінити на ).
Зменшити її на у циклічному порядку (наприклад, змінити на ).
Крім того, через технологічні обмеження не можна змінювати дві бази із сусідніми позиціями в послідовності. Чи можна досягти мети?
У першому рядку кожного тесту записано два цілих числа і (1 \leq N \leq 10\,000, 1 \leq T \leq 6\,000) — довжина послідовності та кількість підмножин. У наступному рядку міститься ДНК-рядок довжини , який складається лише з літер , , , .
Далі йдуть рядків із описами підмножин. Кожен рядок починається з , де (0 \leq L \leq N) — кількість позицій у підмножині, далі йдуть різних цілих чисел від до N - 1 у зростаючому порядку. Підмножини можуть частково або повністю перетинатися.
Порожній рядок відділяє окремі тести. Вхідні дані завершуються рядком 0 0.
Для кожного тесту в одному рядку виведіть YES, якщо рішення існує, інакше — NO.
AGTAT
P_1 = \{1, 4\}, P_2 = \{0, 1\}, P_3 = \{0, 2, 4\}
Один із способів — збільшити перший символ і зменшити останній, отримавши S' = GGTAG. Обмеження S' на P_1, P_2, P_3 дорівнюють GG, GG, GTG відповідно; усі вони є паліндромами.
Випадок, коли рішення неможливе: CATGC і потрібно, щоб підпослідовності на позиціях і були паліндромами. Тут символи , і мають стати . Але це вимагає змінювати символи і , які розташовані підряд, що заборонено.
Приклад 1