A. Леша и разбиение массива
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Одним весенним днем, идя в университет, Леша нашел массив A. Леша очень любит разбивать массив на несколько частей. В этот раз он решил, что неплохо было бы найти разбиение массива A на несколько, а возможно и на один, новых массивов, причем чтобы сумма элементов в каждом новом массиве не была равна нулю. Ещё одним необходимым условием является то, что при склейке новых массивов должен получиться старый массив A.

Леша очень устал после университета, и поэтому разбиение массива было поручено вам. Помогите Леше!

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

В первой строке входных данных находится одно целое число n (1 ≤ n ≤ 100) — количество элементов в массиве A.

В следующей строке входных данных находятся n целых чисел a1, a2, ..., an ( - 103 ≤ ai ≤ 103) — элементы массива A.

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

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

Иначе в первой строке строке выходных данных выведите «YES» (без кавычек). В следующей строке выходных данных следует вывести целое число k — количество массивов в разбиении. В каждой из следующих k строк следует вывести пару целых чисел li, ri, означающих, что подотрезок A[li... ri] исходного массива A является i-м массивом в разбиении. Числа li, ri должны удовлетворять следующим условиям:

  • l1 = 1
  • rk = n
  • ri + 1 = li + 1, для всех 1 ≤ i < k.

Если ответов несколько, то выведите любой.

Примеры
Входные данные
3
1 2 -3
Выходные данные
YES
2
1 2
3 3
Входные данные
8
9 -12 3 4 -4 -10 7 3
Выходные данные
YES
2
1 2
3 8
Входные данные
1
0
Выходные данные
NO
Входные данные
4
1 2 3 -5
Выходные данные
YES
4
1 1
2 2
3 3
4 4