Олимпиадный тренинг

Задача . B. Сбой


Задача

Темы: реализация *1400

При проведении соревнований по программированию «Russian Code Cup», в проверяющей системе сохраняются все посланные решения для каждого участника. Известно, что многие участники используют в своих программах случайные числа и часто отправляют на проверку несколько решений с одинаковым исходным кодом.

В проверяющей системе каждый участник идентифицируется некоторым уникальным целым числом k, а каждое отправленное решение A характеризуется двумя целыми числами: x — числом различных решений, отправленных до первого решения, идентичного решению A, и k — идентификатором участника, который является автором решения. Логично, что все одинаковые решения имеют одинаковый x.

Известно, что данные в проверяющей системе хранятся в хронологическом порядке. То есть, если в проверяющей системе есть решение под номером x (x > 0) участника с номером k, то где-то раньше в проверяющей системе хранится решение с номером x - 1 того же участника.

Во время проведения соревнований, в проверяющей системе произошел сбой, после чего данные о подходах всех участников были восстановлены. Теперь жюри хотят проверить, что восстановленные данные идут в хронологическом порядке. Помогите жюри сделать это.

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

В первой строке дано целое число n (1 ≤ n ≤ 105) — количество записей. В n последующих строках содержится по два целых числа: x и k через пробел (0 ≤ x ≤ 105; 1 ≤ k ≤ 105) — количество предыдущих уникальных посылок и номер участника, автора этого решения.

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

Выведите «YES» (без кавычек), если данные идут в хронологическом порядке, и «NO» (без кавычек) в обратном случае.


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

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя