Задана последовательность из n целых чисел d1, d2, ..., dn (d1 < d2 < ... < dn). Требуется построить такой неориентированный граф, что:
Вершины должны быть пронумерованы от 1 до (dn + 1).
Последовательностью степеней называется массив a длины, равной количеству вершин графа, такой, что ai — это количество вершин, смежных с i-й.
Множеством степеней называется отсортированная по возрастанию последовательность из всех различных значений из последовательности степеней.
Гарантируется, что существует такой граф, что все условия выполняются, и он содержит не более 106 ребер.
Выведите полученный граф.
В первой строке записано одно целое число n (1 ≤ n ≤ 300) — размер множества степеней.
Во второй строке записаны n целых чисел d1, d2, ..., dn (1 ≤ di ≤ 1000, d1 < d2 < ... < dn) — множество степеней.
В первой строке выведите одно целое число m (1 ≤ m ≤ 106) — количество ребер в полученном графе. Гарантируется, что существует такой граф, что все условия выполняются, и он содержит не более 106 ребер.
В каждой из следующих m строк должны быть записаны два целых числа vi и ui (1 ≤ vi, ui ≤ dn + 1) — описание i-го ребра.
3
2 3 4
8
3 1
4 2
4 5
2 5
5 1
3 2
2 1
5 3
3
1 2 3
4
1 2
1 3
1 4
2 3
Название |
---|