EduBrick

O. Два государства

2000 мс · 256 МБ · всё или ничего

Игровое поле — квадрат n×nn \times n. В некоторых клетках стоят города, всего городов чётное число и не меньше двух.

Поле нужно разделить на два государства так, чтобы городов в них было поровну и каждое государство было связным: из любой его клетки можно дойти до любой другой по клеткам того же государства, переходя между клетками с общей стороной. Каждая клетка достаётся ровно одному государству; по числу клеток государства могут различаться.

Чтобы ответ был единственным, разрез фиксирован. Обходим клетки змейкой: первую строку слева направо, вторую справа налево, третью снова слева направо и так далее. Первому государству должен достаться начальный кусок этого обхода, второму — всё остальное. Среди подходящих разрезов выведите тот, в котором первому государству досталось наименьшее число клеток.

Формат ввода

Первая строка содержит число nn (1≤n≤501 \le n \le 50).

Следующие nn строк содержат по nn заглавных латинских букв: C — клетка с городом, D — пустая клетка.

Формат вывода

Выведите nn строк по nn цифр: 11 — клетка первого государства, 22 — второго.

Примеры

ввод
3
DDD
DDC
DDC
вывод
111
221
222
Войдите, чтобы отправлять решения.