| Отбор на ВКОШП.Junior 2026 |
|---|
| Закончено |
Васе подарили на день рождения два массива: $$$a_1, \ldots, a_n$$$ и $$$b_1, \ldots, b_m$$$. Всё бы ничего, но Вася недавно на кружке прошел сложную тему — двумерные массивы, и решил сделать себе такой. Получился массив $$$C$$$ ($$$n \times m$$$) по следующему правилу:
$$$$$$ C_{i, j} = a_i \cdot b_j $$$$$$
Но из-за хулиганства хомяков массив был испорчен. Часть символов массива превратилась в «?», от остальных чисел остались только знаки «+» (если число было положительным) и «-» (если число было отрицательным). Ни в одном массиве, подаренном Васе, не было нулей.
Теперь Вася хочет перепроверить, правильная ли осталась матрица — разумеется, изначальные массивы не сохранились.
Более формально, вам нужно сказать, существует ли такая пара массивов $$$a_1, \ldots, a_n$$$ и $$$b_1,\ldots, b_m$$$, что для всех пар $$$i$$$, $$$j$$$ ($$$1 \leqslant i \leqslant n$$$, $$$1 \leqslant j \leqslant m$$$) таких, что $$$C_{i, j} \neq \texttt{?}$$$ (то есть на позиции $$$(i, j)$$$ в матрице $$$C$$$ остался + или -) $$$a_i \cdot b_j$$$ имеет такой же знак, что и элемент $$$C_{i, j}$$$.
В первой строке входных данных заданы два числа $$$n$$$, $$$m$$$ ($$$1 \leqslant n, m \leqslant 500$$$) — размерности получившейся матрицы.
Далее задается матрица. $$$i$$$-я из следующих строк ввода состоит из $$$m$$$ элементов и задает очередную строку матрицы $$$C$$$. Гарантируется, что строки состоят из символов «?», «-», «+».
Если пара массивов, подходящая под заданную матрицу, существует, выведите «YES». Иначе выведите «NO».
4 4????????????????
YES
3 3-+++-+++-
NO
3 3+-+-+??+-
YES
| Название |
|---|


