Скоро состоится шахматный турнир, в котором примут участие \(n\) шахматистов. Каждый шахматист сыграет одну партию против каждого другого участника. Партия заканчивается либо победой одного игрока и поражением другого, либо ничьей для обоих игроков.
У каждого из шахматиста есть свои ожидания по поводу турнира, они могут быть одного из двух типов:
- шахматист хочет не проиграть ни одной партии (то есть закончить турнир без поражений);
- шахматист хочет выиграть хотя бы одну партию.
Вам предстоит определить результаты всех матчей, чтобы все шахматисты сыграли в соответствии со своими ожиданиями, или сообщить, что это невозможно. Если правильных ответов несколько, выведите любой из них.
Вам предстоит определить, существует ли такой исход всех матчей, чтобы ожидания всех игроков были удовлетворены. Если существует несколько возможных исходов, выведите любой из них. Если таковых нет, сообщите, что это невозможно.
Выходные данные
Для каждого набора входных данных выведите ответ в следующем формате:
В первой строке выведите NO, если удовлетворить ожидания всех шахматистов невозможно.
В противном случае выведите YES, а в последующих \(n\) строках элементы матрицы размером \(n \times n\).
Элемент матрицы в \(i\)-й строке и \(j\)-м столбце должен быть равен:
- +, если \(i\)-й шахматист выиграл в партии с \(j\)-м шахматистом;
- -, если \(i\)-й шахматист проиграл в партии с \(j\)-м шахматистом;
- =, если \(i\)-й и \(j\)-й шахматисты сыграли в ничью;
- X, если \(i = j\).