Pe o linie orizontală se găsesc n
greieri. Ei încep să stea „capră” într-o ordine prestabilită începând cu ultimul, pe rând, până la primul. Toţi greierii care îl preced pe cel care stă „capră” sar peste acesta, în ordine.
De exemplu pentru n=4
, mai întâi stă „capră” greierul 4
și peste el sar, în ordine, 3
, 2
și 1
. Apoi stă „capră” greierul 3
și sar peste el, în ordine, 2
, 1
și 4
. Apoi stă „capră” greierul 2
și peste el sar, în ordine, 1
, 3
și 4
. Apoi stă „capră” greierul 1
și sar peste el, în ordine, 4
, 3
și 2
, și se revine la ordinea inițială.
Cerință
Scrieți un program care citește numerele naturale n
și m
și determină:
a) De câte sărituri este nevoie pentru a se ajunge la ordinea inițială?
b) Cum vor fi așezați greierii după m
sărituri?
Date de intrare
Fișierul de intrare greieri.in
conține două valori n
și m
, separate printr-un spațiu, cu semnificația din enunț.
Date de ieșire
Fișierul de ieșire greieri.out
va conține:
- pe prima linie o valoare ce reprezintă numărul de sărituri după care se revine la ordinea inițială;
- pe a doua linie numerele ce reprezintă ordinea greierilor după
m
pași.
Restricții și precizări
2 ≤ n ≤ 100000
;1 ≤ m ≤ 2000000000
;
Exemplu:
greieri.in
4 5
greieri.out
12 4 3 1 2
Explicație
După cum se vede și în imagine pornind de la linia inițială 1 2 3 4
la primul pas sare greierele 3
peste 4
, la pasul 2
sare greierele 2
peste 4
, la pasul trei sare greierele 1
peste 4
la pasul patru sare greierele 2
peste 3
, iar la pasul cinci sare greierele 1
peste 3
.