Олимпиадный тренинг

Задача . E. Чемпионат


Остап Бендер решил в очередной раз дать сеанс одновременной игры по шахматам. В этот раз он тщательно готовился, поэтому следил за ходом одного крупного турнира по шахматам. В турнире принимали участие m шахматистов, каждый сыграл с каждым ровно одну партию. В случае победы участник получал 2 очка, ничьей — 1 очко, поражения — 0 очков.

Остап не хотел держать в голове всю турнирную таблицу, поэтому для каждого участника он вычислил итоговое количество набранных им очков (то есть сумму его очков по всем партиям, в которых он принимал участие). Далее Остап упорядочил участников по невозрастанию набранных очков и запомнил результаты первых n из этого списка.

Теперь у великого комбинатора возник вопрос, а ничего ли он не напутал и действительно ли существует турнирная таблица, по которой могли быть получены данные n чисел? Другими словами, можно ли так назначить исходы всех попарных встреч для m шахматистов, что после вычисления итоговой суммы для каждого, упорядочивания и отбрасывания последних m - n останется набор чисел, в точности совпадающий с тем, что помнит Остап?

Входные данные

В первой строке входных данных записаны два числа m и n (1 ≤ n ≤ m ≤ 3000) — количество участников турнира и количество лучших результатов, которые помнит Остап.

Во второй строке записаны n целых чисел в порядке невозрастания — набранные участниками очки, как их помнит Остап. Гарантируется, что все эти числа — целые неотрицательные и не превосходят m.

Выходные данные

Если не существует турнира, по которому Остап мог получить данный набор чисел, выведите «no» в единственной строке выходных данных. В противном случае в первой строке выходных данных выведите «yes», а следующих m строках — сам турнир. Каждая строка описания турнира должна состоять из m символов «X», «W», «D» и «L». Символ «X» всегда ставится на главной диагонали (и только там), то есть в i-й позиции i-й строки, символ «W» в j-й позиции i-й строки означает, что игрок номер i обыграл игрока номер j, символы «D» и «L» на соответствующей позиции означают ничью и поражение соответственно.

Выведенная таблица должна быть непротиворечива, а набор чисел, состоящий из баллов n участников с наилучшим счётом, должен совпадать с набором, указанным во входных данных. Если подходящих ответов несколько, разрешается вывести любой из них.


Примеры
Входные данныеВыходные данные
1 5 5
8 6 4 2 0
yes
XWWWW
LXWWW
LLXWW
LLLXW
LLLLX
2 5 1
9
no

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя