#123. 在這個句子裡

在這個句子裡

Background

Preslayer 在網路上衝浪的時候偶然滑到了一個邏輯問題,其中題目是:在這個句子中,00 出現了?次,11 出現了?次,22 出現了?次......,99 出現了?次。

雖然這個題目很有趣,但是 Preslayer 掐指一算,發現要解出這題似乎必須花點腦力。而懶惰如 Preslayer ,他做出了一個 coder 最有可能做出的事,寫個程式請電腦幫忙算就好。

Description

給定一個整數 nn 算出在題目為「在這個句子中,00 出現了 a0a_0 次,11 出現了 a1a_1 次,22 出現了 a2a_2 次......,nn 出現了 ana_n 次。」時能夠使題目的敘述為真的所有 aia_i,其中 0ain0\leq a_i \leq n

Format

Input

給定一個整數 nn,滿足 0n1060\leq n\leq 10^6

Output

如果存在一組解,則輸出 n+1n+1 個整數,分別表示 a0a_0ana_n。 如果不存在一組解,則輸出 "IMPOSSIBLE"

Samples

0
IMPOSSIBLE
3
1 2 3 2
12
1 10 3 2 1 1 1 1 1 1 2 1 1

Hint

在這題之中,所有數字皆不必把個別字元拆開(見範例 33),例如:1111 算一個 1111,不必算成兩個 111212 算一個 1212,不必算成一個 11、一個 22,依此類推。我還不想把學弟妹們嚇跑。

在範例 22 中,字串「在這個句子中,00 出現了 11 次,11 出現了 22 次,22 出現了 33 次,33 出現了 22 次。」恰好滿足句子,00 出現了 11 次,11 出現了 22 次,22 出現了 33 次,33 出現了 22 次。所以 (a0,a1,a2,a3)=(1,2,3,2)(a_0,a_1,a_2,a_3)=(1,2,3,2)

在範例 33 中,使題目的敘述為真的句子是「在這個句子中,00 出現了 11 次,11 出現了 1010 次,22 出現了 33 次,33 出現了 22 次,44 出現了 11 次,55 出現了 11 次,66 出現了 11 次,77 出現了 11 次,88 出現了 11 次,99 出現了 11 次,1010 出現了 22 次,1111 出現了 11 次,1212 出現了 11 次。」

Limitation

1s, 1024KiB for each test case.