Курони является координатором следующего раунда Mathforces, написанного командой «Proof by AC». Вся подготовка позади, и он обсуждает с командой распределение баллов за раунд.
Раунд состоит из \(n\) задач, пронумерованных от \(1\) до \(n\). Задачи упорядочены в порядке возрастания сложности, никакие две задачи не имеют одинаковую сложность. Распределение баллов за раунд можно обозначить массивом \(a_1, a_2, \dots, a_n\), где \(a_i\) — баллы за \(i\)-ю задачу.
Курони считает, что распределение очков должно удовлетворять следующим требованиям:
- Балл за каждую задачу должен быть положительным целым числом, не превышающим \(10^9\).
- Более сложная задача должна стоит больше баллов, чем более простая. Другими словами, \(1 \leq a_1 < a_2 < \dots < a_n \leq 10^9\)..
- Баланс распределения баллов, определяемый как количество троек \((i, j, k)\), таких, что \(1 \leq i < j < k \leq n\) и \(a_i + a_j = a_k\), должен быть равен ровно \(m\).
Помогите команде найти распределение баллов, которое удовлетворяет требованиям Курони. Если такого распределения баллов не существует, выведите \(-1\).
Выходные данные
Если решения не существует, выведите единственное целое число \(-1\).
В противном случае выведите \(n\) целых чисел \(a_1, a_2, \dots, a_n\), представляющие распределение баллов, которое удовлетворяет всем требованиям. Если есть несколько решений, выведите любой из них.