시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 256 MB0000.000%

문제

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

Джон взял колоду карт и на каждой написал дробь piqi, по модулю не превосходящую единицу. Эта дробь называется значением карты. Правила таковы: игрок по очереди открывает карты из колоды и каждую либо берет в руку, либо сбрасывает. Для выигрыша необходимо добиться того, чтобы сумма значений карт в руке стала равной единице.

Джон хочет продемонстрировать новую игру друзьям, но у него есть серьезная проблема. Игра получилась настолько сложная, что даже зная заранее колоду карт, он не может определить, какие карты надо брать.

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

입력

Первая строка содержит целое число n (1 ≤ n ≤ 100) — количество карт в колоде. Каждая из следующих n строк описывает одну из карт и содержит два разделенных пробелом целых числа pi и qi (1 ≤ qi ≤ 21, |pi| ≤ qi).

출력

В случае, если выиграть невозможно, выведите единственную строку NO.

В противном случае в первой строке выведите YES. Во второй строке выведите целое число m — количество карт в руке к концу игры. В третье строке выведите m чисел k1k2, …, km — номера карт, сумма значений которых равна единице.

Карты нумеруются с единицы в порядке их перечисления во входном файле.

예제 입력 1

4
1 2
-1 6
1 5
2 3

예제 출력 1

YES
3
1 2 4