Codeforces Beta Round 59 (Div. 2) |
---|
Закончено |
На острове Бука произошла революция. На место старого правительства пришло новое. Новое правительство включает в себя n партий, каждой из них положена некоторая доля острова в соответствии с их вкладом в становление революции. Вот только разделить остров у них не получается.
Остров условно можно представить как два прямоугольника размерами a × b и c × d единичных клеток соответственно, которые располагаются вплотную друг к другу. При этом одна из сторон длины a и одна из сторон длины c лежат на одной прямой. Более подробно это можно видеть на рисунке.
i-ой партии полагается доля острова в xi единичных клеток. Каждая такая доля должна целиком покрывать некоторые клетки острова (частично покрывать клетки не допускается) и быть связной фигурой. Связность подразумевает, что из любой клетки партии можно добраться до любой другой клетки этой же партии, передвигаясь через смежные по ребрам клетки, которые также принадлежат данной партии.
От Вас требуется разделить остров между партиями.
В первой строке содержится 5 целых чисел, разделенных пробелом — a, b, c, d и n (1 ≤ a, b, c, d ≤ 50, b ≠ d, 1 ≤ n ≤ 26). Во второй строке находится n чисел, разделенных пробелом. i-е из них равно числу xi (1 ≤ xi ≤ a × b + c × d). Гарантируется, что .
Если разделить остров между партиями требуемым образом невозможно — выведите «NO» (без кавычек). Иначе выведите «YES» (тоже без кавычек), а, начиная со следующей строки, выведите max(b, d) строк, по a + c символов в каждой. Для обозначения, какой партии какую клетку острова отнести, используйте маленькие латинские буквы. Для первой по порядку партии из входных данных используйте «a», для второй — «b» и так далее. Для клеток, принадлежащих морю, используйте «.». Первый символ второй строки выходных данных должен соответствовать клетке, принадлежащей прямоугольнику a × b, последний символ второй строки — клетке, принадлежащей прямоугольнику c × d.
Если решений несколько, выведите любое.
3 4 2 2 3
5 8 3
YES
aaabb
aabbb
cbb..
ccb..
3 2 1 4 4
1 2 3 4
YES
abbd
cccd
...d
...d
Название |
---|