| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 3 | 2 | 2 | 66.667% |
На очередном задании Лэнс Стерлинг в очередной раз столкнулся с запертым сейфом. <<Да сколько можно, снова взламывать>>, --- подумал про себя супершпион.
Данный сейф закрывается на кодовый замок, который может быть представлен в виде таблицы $n \times n$. В этой таблице есть клетки трех типов:
Причем, из-за конструкционных особеностей сейфа, в каждом столбце и каждой строке таблицы содержится не более одного центрального элемента.
Каждую из ручек можно ориентировать одним из двух способов: вертикально или горизонтально. Для того, чтобы замок открылся, ручки нужно ориентировать таким образом, чтобы от каждой ручки можно было добраться до центрального элемента, переходя только по ручкам ориентированным таким же образом, в направлении ориентации. Иными словами, если ручка ориентированна вертикально, должен существовать центральный элемент, находящийся на одной вертикали с этой ручкой, и все клетки между этим центральным элементом и этой ручкой должны быть заняты ручками, ориентированными вертикально. Аналогично для всех горизонтальных ручек.
Лэнсу нельзя терять ни минуты, поэтому он попросил помощи с открытием сейфа у вас. Помогите ему определить ориентации ручек, при которых сейф откроется, либо сообщите, что это невозможно.
В первой строке дано одно целое число $n$ --- размер таблицы ($1 \le n \le 500$).
Далее в $n$ строках дано по $n$ символов --- описание таблицы. Символ <<.>> соответствует пустой клетке, символ <<O>> (заглавная английская буква O, ASCII код 79) --- центральному элементу, а <<+>> --- поворотной ручке.
Гарантируется, что в каждой строке и каждом столбце таблицы содержится не более одного центрального элемента.
Если не существует способа ориентировать ручки, чтобы сейф открылся, выведите <<No>>. Иначе, выведите <<Yes>>, а в следующих $n$ строках по $n$ символов --- описание таблицы, аналогичное описанию во входных данных. Ручки, которые нужно ориентировать вертикально, должны быть обозначены символами <<|>>, а ручки, которые нужно ориентировать горизонтально --- символами <<->>.
Если существует несколько различных ответов, выведите любой из них.
3 O++ +.+ ++O
Yes O-| |.| --O
4 ..+. .... ..O. ..+.
No
3 .+. O++ .O.
No