Компания из n друзей собралась поиграть в многопользовательский шутер в режиме Last Man Standing. Особенность этого режима состоит в том, что после того, как игрока убивают, он не возрождается, а ждёт, когда закончится раунд. Раунд заканчивается, когда в живых остаётся лишь один игрок.
Вам предоставили нотариально заверенный скриншот текущих результатов боя, сделанный в ходе первого раунда игры. На нём отражена информация о том, сколько убийств совершил каждый игрок. Вы хотите проверить, не является ли он подделкой, т. е. могла ли в игре действительно возникнуть такая ситуация.
В первой строке дано единственное целое число n (1 ≤ n ≤ 200000) — количество игроков.
Во второй строке дано n целых чисел ai через пробел (0 ≤ ai ≤ 109) — количества убийств, совершённых каждым игроком. Эти числа упорядочены по невозрастанию.
Если в игре не могла возникнуть такая ситуация, выведите «NO» (без кавычек).
Иначе в первой строке выведите «YES» (без кавычек), а затем выведите лог убийств в раунде, состоящий из k пар чисел, где k — это количество убийств, совершённых на момент создания скриншота. Каждая пара чисел в логе должна состоять из номера игрока, совершившего убийство, и номера убитого игрока, именно в этом порядке, а записи в логе должны быть упорядочены хронологически. Если существует несколько корректных логов убийств, выведите любой из них.
5
2 1 1 0 0
YES
3 5
2 4
1 3
1 2
7
3 2 2 0 0 0 0
NO
1
0
YES
3
1 0 0
YES
1 3