Nelu tocmai și-a cumpărat un nou tip de încuietoare digitală pe care vrea să o folosească pentru vestiarul de la școală. Codul secret al acestei încuietori este o secvență de N
numere naturale, indexate de la 1
la N
. Introducerea acestui cod și deblocarea dispozitivului se face într-un mod special. Încuietoarea începe cu o secvență afișată compusă din N
valori de zero. Nelu poate folosi apoi o operație numită incS(i, j)
, care incrementează cu 1
toate valorile cu indici între i
și j
(inclusiv). De exemplu, folosind o operație incS(2, 4)
pe secvența [0, 0, 0, 0]
, vom produce secvența [0, 1, 1, 1]
. În mod similar, folosind un incS(2, 3)
pe secvența [4, 1, 3, 2]
, vom produce secvența [4, 2, 4, 2]
. Încuietoarea se deblochează atunci când secvența afișată se potrivește cu codul secret.
Deoarece ˆıncuietoarea este nouă, Nelu trebuie să seteze codul secret. Fiind pasionat de permutări, ar vrea ca codul secret să fie o permutare a numerelor de la 1
la N
, adică o secvență de N
numere care să conțină fiecare număr de la 1
la N
exact o dată. În plus, vrea să facă codul dificil de ghicit pentru colegii săi. Pentru aceasta, Nelu dorește ca numărul minim de operații incS
necesare pentru deblocarea dispozitivului să fie exact egal cu numărul său preferat M
. Dintre toate codurile posibile, dacă există, el îl va selecta pe cel minim lexicografic (după cum este explicat în Restricții).
Cerința
Nelu îți cere ajutorul pentru a-și găsi codul secret.
Date de intrare
Intrarea constă dintr-o linie care conține două numere întregi separate printr-un spațiu N
și M
, cu
semnificațiile de mai sus.
Date de ieșire
Afișați o secvență de N
numere, separate prin spații, reprezentând codul secret pe care Nelu ar trebui să-l seteze pentru lacăt. Dacă nu există o astfel de secvență, afișați mesajul IMPOSSIBLE
.
Restricții și precizări
1 ≤ N ≤ 1.000.000
1 ≤ M ≤ 10
12
- O permutare
A
1
,A
2
, …,A
N
este mai mică lexicografic decât o altă permutareB
1
,B
2
, …,B
N
, dacă există o pozițieP
pentru careA
1
= B
1
,A
2
= B
2
, …,A
P-1
= B
P-1
șiA
P
< B
P
.
Exemplul 1
Intrare
3 3
Ieșire
1 2 3
Exemplul 2
Intrare
3 4
Ieșire
2 1 3
Exemplul 3
Intrare
3 5
Ieșire
IMPOSSIBLE
Explicații
Permutările pentru N = 3
sunt [1, 2, 3]
, [1, 3, 2]
, [2, 1, 3]
, [2, 3, 1]
, [3, 1, 2]
și [3, 2, 1]
. Numărul minim de operații incS
necesare pentru aceste permutări sunt, în ordine: 3, 3, 4, 3, 4, 3
. De exemplu, pentru permutarea [2, 1, 3]
, Nelu poate folosi incS(3, 3)
, incS(1, 3)
, incS(1, 1)
și incS(3, 3)
. Totuși, Nelu nu poate obține [2, 1, 3]
cu mai puțin de 4
operații incS
. Pentru M = 3
, permutarea lexicografic minimă, pentru care numărul minim de incS
necesar pentru deblocarea dispozitivului este exact egal cu M
este [1, 2, 3]
. Pentru M = 4
, codul secret este [2, 1, 3]
. Pentru M = 5
, nu există o astfel de permutare.