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

Задача . C. Новый год и рейтинг


У каждого пользователя Codeforces есть рейтинг, который описывается одним целым числом, возможно отрицательным или нулём. Все пользователи разделены на два дивизиона. К первому дивизиону относятся пользователи с рейтингом 1900 и выше. Пользователи с рейтингом 1899 и меньше относятся ко второму дивизиону. После каждого соревнования, в зависимости от показанного результата рейтинг пользователя изменяется на некоторое целое число, возможно отрицательное или ноль.

В 2016 году Лимак принял участие в n соревнованиях. Он помнит, что во время соревнования i он был дивизионе di (то есть он принадлежал данному дивизиону непосредственно перед началом данного соревнования) и после соревнования его рейтинг изменился на величину ci. Обратите внимание, отрицательные значения ci означают, что рейтинг уменьшился.

Какой максимальный рейтинг может быть у Лимака после всех n соревнований? Если его рейтинг может быть сколь угодно большим, то выведите «Infinity». Если информация является противоречивой и не может быть верной ни для какого значения рейтинга, выведите «Impossible».

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

В первой строке входных данных записано целое число n (1 ≤ n ≤ 200 000).

В i-й из последующих n строк записаны два целых числа ci и di ( - 100 ≤ ci ≤ 100, 1 ≤ di ≤ 2), описывающих изменение рейтинга после соревнования и дивизион Лимака во время i-го соревнования.

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

Если текущий рейтинг Лимака может быть сколь угодно большим, то выведите «Infinity» (без кавычек). Если информация из входных данных является невозможной, то выведите «Impossible» (без кавычек). В противном случае выведите максимально возможный рейтинг Лимака после всех n соревнований.

Примечание

В первом примере следующий сценарий соответствует всей информации из входных данных и максимально возможному итоговому рейтингу:

  1. Рейтинг Лимака изначально равен 1901 и он находится в дивизионе 1. После первого контеста рейтинг Лимака понижается на 7.
  2. С рейтингом 1894 Лимак соревнуется в дивизионе 2. Его рейтинг увеличивается на 5.
  3. Рейтинг Лимака равен 1899 и он всё ещё в дивизионе 2. В последнем контесте года изменение его рейтинга равняется  + 8 и он завершает год с рейтингом 1907.

Во втором примере, ситуация что Лимак соревновался в дивизионе 1, а после увеличения рейтинга на 57 оказался в дивизионе 2, является невозможной.


Примеры
Входные данныеВыходные данные
1 3
-7 1
5 2
8 2
1907
2 2
57 1
22 2
Impossible
3 1
-5 1
Infinity
4 4
27 2
13 1
-50 1
8 2
1897

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

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