eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Команди

Команди

\textbf{3·N} студентів одного курсу навчаються на двох спеціальностях - математики (\textbf{M}) та програмування (\textbf{P}). Давайте назвемо студентів першої спеціальності математиками, а другої - програмістами. На кожній спеціальності є декілька груп. Число груп на кожній зі спеціальностей однакова. Кількість студентів у кожній групе більше або дорівнює трьом. Студенти дуже зайняті навчанням, тому вони можуть зустрітися один з одним під час занять. Кожна група займається у окремій аудиторії, крім фізкультури. Заняття по фізкультурі проводяться для пар груп різних спеціальностей, кожна група на заняттях з фізкультури проводить час лише з однвєю іншою. Усі групи ввідвідують фізкультуру. Усі студенти відповідальні, і справно відвідують заняття. Коли студенти зустрічаються на одному з занять, вони стають знайомими. У кожної групи є староста. Усі старости відвідують раду старост, на якій усі вони зустрічаються один з одним і стають знайомими. Вам потрібнл сформувати \textbf{N} команд, які складаються з трьох студентів таким чином, щоб кожен студент був присутнім лише в одній з них. У кожній команді повинен бути присутнім хоча б один математик і хоча б один програміст. Усі члени однієї команди повинні бути знайомі один з одним. \InputFile Перший рядок містисть \textbf{2} цілих числа \textbf{K} та \textbf{M} (\textbf{1} ≤ \textbf{K}, \textbf{M} ≤ \textbf{1000}, \textbf{K = 3·N}) - загальне число студентов та кількість пар знайомих студентів. Другий рядок містить \textbf{K} символів '\textbf{M}' або '\textbf{P}', \textbf{i}-ий символ описує спеціальність \textbf{i}-го студента. Наступні \textbf{M} рядків описують пари знайомих студентів. Гарантується, що спеціальності студентів та їх відношення не суперечать умові задачі. \OutputFile У першому рядку вивести \textbf{Yes} або \textbf{No} у залежності від того, чи можна утворити \textbf{N} команд. Якщо це зробити можливо, наступні \textbf{N} рядків повинні містити номери студентів кожної команди, по три числа у кожному рядку. Якщо існує декілька розв'язків, то вивести довільний.
Ліміт часу 2 секунди
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
12 34
MMPPPMMMMPPP
1 2
1 3
1 4
1 5
1 6
1 7
1 10
2 3
2 4
2 5
2 6
3 4
3 5
3 6
4 5
4 6
4 7
4 10
5 6
7 8
7 9
7 10
7 11
7 12
8 9
8 10
8 11
8 12
9 10
9 11
9 12
10 11
10 12
11 12
Вихідні дані #1
Yes
4 5 1
6 2 3
10 12 7
9 8 11