На первом этапе Кубка Революции по футболу все команды разбиваются на группы и играют
по круговой системе. Организаторы турнира попросили вас помочь им с формированием групп.
Все команды требуется разбить на g групп, по t команд в каждой.
Команды распределены по t корзинам,
по g команд в каждой. В первую корзину попали самые сильные команды, во вторую —
чуть менее сильные, и так далее. В последнюю корзину попали самые слабые команды.
Требуется составить группы таким образом, чтобы в каждую группу попала
ровно одна команда из каждой корзины.
Кроме того, организаторы хотят, чтобы в любой группе все t команд представляли
различные политические партии.
Исходные данные
В первой строке через пробел записаны целые числа g и t (1 ≤ g, t ≤ 100).
Далее описываются t корзин. Описание каждой команды идёт в отдельной строке
и состоит из названия команды и названия партии, которую она представляет, записанными
через пробел. Описания корзин разделены пустой строкой. Названия команд и партий
состоят только из строчных латинских букв, их длина положительна и не
превосходит 10. Названия всех команд различны.
Результат
Если разбить команды на группы требуемым образом нельзя, в единственной строке выведите
«No». В противном случае выведите «Yes», а затем выведите описание g групп.
Группа описывается названиями t команд, которые в неё попали, записанными по одному
в строке. Перед описанием каждой группы выведите пустую строку. Если есть несколько ответов,
выведите любой.
Примеры
исходные данные | результат |
---|
2 3
cavalry red
guard white
infantry red
guerilla green
czechs white
gunners latvia
| Yes
cavalry
guerilla
czechs
guard
infantry
gunners
|
2 2
cavalry red
guard white
czechs white
cossacks white
| No
|
Автор задачи: Магаз Асанов
Источник задачи: NEERC 2010, Четвертьфинал Восточного подрегиона