A. Плюс и квадратный корень
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Кодер ZS играет в игру. В игре есть число, которое отображается на экране и две кнопки, ' + ' (плюс) и '' (квадратный корень). Изначально на экране отображается число 2. В игре всего n + 1 уровень и Кодер ZS начинает на уровне 1.

Когда Кодер ZS находится на уровне k, он может:

  1. Нажать кнопку ' + '. Эта операция увеличивает число на экране ровно на k. Таким образом, если на экране отображалось число x, оно становится равным x + k.
  2. Нажать кнопку ''. Пусть на экране отображается число x. После нажатия этой кнопки число становится равным . После этого Кодер ZS переходит на следующий уровень, так что его текущий уровень становится равным k + 1. Эта кнопка может быть нажата только когда x является полным квадратом, т.е. x = m2 для некоторого целого положительного m.

В дополнение, после каждого хода, если Кодер ZS находится на уровне k и число на экране равно m, то m должно делиться на k. Заметьте, что это условие проверяется только после нажатия на кнопку, к примеру, если Кодер ZS находится на уровне 4 и текущее число равно 100, он нажимает кнопку '' и число становится равным 10. В этот момент 10 не делится на 4, однако нажатие все же корректно, так как после него Кодер ZS находится на уровне 5, а 10 делится на 5.

Кодеру ZS'у нужна ваша помощь в прохождении игры — он хочет достичь уровня n + 1. Другими словами, ему нужно нажать кнопку '' n раз. Помогите ему определить, сколько раз ему следует нажимать кнопку ' + ' перед нажатием кнопки '' на каждом уровне.

Заметьте, что Кодер ZS хочет найти любую последовательность нажатий, позволяющую достичь уровня n + 1, но не обязательно такую, в которой число нажатий минимально.

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

Первая и единственная строка входных данных содержит единственное целое число n (1 ≤ n ≤ 100 000), означающее, что Кодер ZS хочет достичь уровня n + 1.

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

Выведите n неотрицательных целых чисел, по одному в строке. i-ое из них должно равняться количеству раз, сколько Кодеру ZS'у нужно нажать кнопку ' + ' перед нажатием кнопки '' на уровне i.

Каждое число не должно превышать 1018. Впрочем, число на экране может превышать 1018.

Гарантируется, что хотя бы одно решение существует. Если существует несколько решений, выведите любое из них.

Примеры
Входные данные
3
Выходные данные
14
16
46
Входные данные
2
Выходные данные
999999999999999998
44500000000
Входные данные
4
Выходные данные
2
17
46
97
Примечание

В первом примере из условия:

На первом уровне, Кодер ZS нажимает кнопку ' + ' 14 раз (а число на экране изначально равно 2), так что число становится равным 2 + 14·1 = 16. Затем Кодер ZS нажимает кнопку '' и число становится равным .

После этого, на втором уровне, ZS нажимает кнопку ' + ' 16 раз, так что число становится равным 4 + 16·2 = 36. Затем ZS нажимает кнопку '', переходя на следующий уровень и меняя число на .

Наконец, на третьем уровне, ZS нажимает кнопку ' + ' 46 раз, так что число становится равным 6 + 46·3 = 144. После этого он нажимает кнопку '' опять, меняя число на .

Число 12 безусловно делится на 4, так что Кодер ZS может достигнуть уровня 4.

Заметьте так же, что нажатие кнопки ' + ' 10 раз на третьем уровне перед переходом на следующий уровень не работает, так как число станет равным 6 + 10·3 = 36, и когда кнопка '' будет нажата, число станет , а Кодер ZS окажется на уровне 4. Впрочем, 6 не делится на 4, так что это неправильное решение.

Во втором примере из условия:

На первом уровне Кодер ZS нажимает кнопку ' + ' 999999999999999998 раз (а число на экране изначально равно 2), так что число становится равным 2 + 999999999999999998·1 = 1018. Затем Кодер ZS нажимает кнопку '' и число становится равным .

После этого, на втором уровне, ZS нажимает кнопку ' + ' 44500000000 раз, так что число становится равным 109 + 44500000000·2 = 9·1010. Затем ZS нажимает кнопку '', переходя на следующий уровень и меняя число на .

Число 300000 делится на 3, так что Кодер ZS может достигнуть уровня 3.