Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Игра в трехмерные шахматы ведется на кубическом поле N×N×N. Трехмерная ладья может ходить на любое число клеток по прямой в любом из шести направлений (в любую сторону в каждом из трех направлений).

На таком поле расставлены K ладей. Напишите программу, которая определит, бьют они все поле или нет.

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

В первой строке входного файла записано натуральное число N (1≤N≤1000), задающее размеры игрового куба, и количество ладей K (0≤K≤106). Далее записано K троек чисел, задающих координаты ладей (координата по каждому измерению — натуральное число от 1 до N).

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

Выведите в выходной файл слово YES, если эти ладьи бьют весь куб, и слово NO в противном случае. В случае NO выведите во второй строке координаты какой-нибудь клетки, которая не бьется ни одной из ладей.

Примеры
Входные данные
2 2
1 1 1
2 2 2
Выходные данные
YES
Входные данные
2 2
1 1 1
1 1 2
Выходные данные
NO
2 2 1

Есть три сосуда с водой. В одном из них A миллилитров воды, в другом — B миллилитров, в третьем — C. Разрешается следующая операция. Можно перелить воду из одного сосуда в другой так, чтобы в том сосуде, в который мы переливаем, количество воды после переливания было в два раза больше, чем до переливания. То есть, если до переливания в сосудах было A, B и C миллилитров соответственно, и мы переливаем, например, из второго сосуда в третий, то после переливания в сосудах должно оказаться A, B–C, 2С миллилитров соответственно (такое переливание можно делать только при условии, когда B≥C). Эту операцию можно повторять не более 10000 раз.

Напишите программу, которая определит, можем ли мы в результате освободить один из сосудов.

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

Во входном файле записаны неотрицательные целые числа A, B, C — количество воды в каждом из сосудов изначально. Числа A, B, C не превышают 1018.

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

Если освободить один из сосудов можно, то выведите сначала количество операций, которое для этого понадобится, а дальше — сами операции. Каждая операция описывается двумя числами — номером сосуда, из которого мы переливаем, и номером сосуда, куда переливаем. Минимизировать количество операций переливания не требуется, но их количество не должно превышать 10000.

Если освободить сосуд невозможно (или на это требуется больше 10000 операций), выведите в выходной файл одно число –1 (минус один).

Примеры
Входные данные
1 2 10
Выходные данные
2
3 1
2 1
Входные данные
0 1 0
Выходные данные
0

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест