Кодер ZS играет в игру. В игре есть число, которое отображается на экране и две кнопки, ' + ' (плюс) и '
' (квадратный корень). Изначально на экране отображается число 2. В игре всего n + 1 уровень и Кодер ZS начинает на уровне 1.
Когда Кодер ZS находится на уровне k, он может:
'. Пусть на экране отображается число 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.