E. Возрастающая последовательность
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Эйприл есть последовательность неотрицательных целых чисел x1, x2, ..., xn. Она хочет сделать эту последовательность строго возрастающей. Для этого она выбирает некоторое целое неотрицательное число k и заменяет некоторые xi по своему выбору на k - xi. После применения этой операции все значения последовательности должны остаться целыми неотрицательными числами.

Определите, существует ли какое-нибудь подходящее значение k, c помощью которого Эйприл сможет получить строго возрастающую последовательность. Если подходящих значений несколько, то выведите любое из них. Если решения не существует, выведите -1.

Выбранное значение k должно не превосходить 2·109 + 1. Гарантируется, что если решение существует, то существует и решение удовлетворяющее этому ограничению.

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

В первой строке записано целое число n (1 ≤ n ≤ 100 000) — длина имеющейся последовательности.

Во второй строке записаны n целых чисел x1, x2, ..., xn (0 ≤ xi ≤ 109).

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

Если подходящего значения k не существует, то выведите -1. В противном случае выведите целое неотрицательное k (0 ≤ k ≤ 2·109 + 1), с помощью которого Эйприл сможет получить строго возрастающую последовательность.

В следующей строке выведите n целых чисел y1, y2, ..., yn (yi = xi или yi = k - xi, yi < yi + 1, 0 ≤ y0).

Примеры
Входные данные
3
5 2 1
Выходные данные
5
0 2 4
Входные данные
5
1 2 5 3 2
Выходные данные
8
1 2 3 5 6
Входные данные
3
1 1 1
Выходные данные
-1