Морской бой

screen-22.webp

Вы разрабатываете игру “Морской бой”. В самом начале каждый игрок расставляет несколько кораблей на поле в определённых позициях. Каждый корабль располагается по прямой линии от до , при этом соединяющая их линия всегда перпендикулярна краям сетки.

На первом этапе вы хотите проверить игровое поле, чтобы убедиться, что пользователи не ставят корабли слишком близко друг к другу или не пересекают их. Между каждым кораблём и любым другим кораблём должна быть хотя бы одна клетка воды. Разрешается ставить корабли вплотную к границе, без дополнительного зазора между бортом корабля и краем поля.

Входные данные

Первая строка входных данных содержит 3 целых числа: n — количество кораблей (1 ≤ n ≤ 20), w — ширина поля боя (1 ≤ w ≤ 1000) и h — высота поля боя (1 ≤ h ≤ 1000).

В следующих n строках содержится по 4 целых числа — и (1 ≤ ≤ h, 1 ≤ ≤ w) — координаты каждого корабля.

Выходные данные

Программа должна вывести Valid, если расположение кораблей корректно, или Invalid — в противном случае.

Примеры

Входные данные

Выходные данные

2 10 10 1 1 1 5 8 1 8 10

Valid

2 10 10 1 1 1 5 2 3 2 10

Invalid

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue