Одним весенним днем, идя в университет, Леша нашел массив A. Леша очень любит разбивать массив на несколько частей. В этот раз он решил, что неплохо было бы найти разбиение массива A на несколько, а возможно и на один, новых массивов, причем чтобы сумма элементов в каждом новом массиве не была равна нулю. Ещё одним необходимым условием является то, что при склейке новых массивов должен получиться старый массив 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.
Если ответов несколько, то выведите любой.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 1 2 -3
|
YES
2
1 2
3 3
|
|
2
|
8 9 -12 3 4 -4 -10 7 3
|
YES
2
1 2
3 8
|
|
3
|
1 0
|
NO
|
|
4
|
4 1 2 3 -5
|
YES
4
1 1
2 2
3 3
4 4
|