wb

Time limit: 0.6s Memory limit: 2MB Input: wb.in Output: wb.outPoints by default: 10p

Vasile s-a lansat în afaceri cu un produs inovativ: robotul WB, care joacă alba-neagra.
Jocul constă din KK pahare identice, aşezate pe poziţii numerotate distinct de la 11 la KK. WB ascunde iniţial o bilă sub paharul aflat pe poziţia SS. Apoi execută foarte rapid NN operaţii de interschimbare. La o interschimbare, WB selectează două poziţii şi interschimbă paharele plasate pe poziţiile selectate. Interschimbarea este făcută în aşa fel încât, dacă bila se află sub unul dintre paharele interschimbate, ea nu este vizibilă şi va fi mutată odată cu paharul sub care se află.

Fiind un robot, WB generează poziţiile paharelor implicate în interschimbări construind un şir de numere astfel: x1=cx_1=c; xi=axi1+bx_i=a \cdot x_{i-1}+b, pentru orice i>1i > 1.

La cea de a ii-a interschimbare, WB alege poziţiile (xi%K+1)(x_i\%K+1) şi ((xi+1)%K+1)((x_i+1)\%K+1), unde cu x%yx\%y se notează restul împărţirii lui xx la yy.

După executarea celor NN interschimbări, bila se află în paharul situat pe poziţia FF.

Cerinţă

Scrieţi un program care determină numerele naturale aa, bb, cc astfel încât după executarea celor NN interschimbări paharul sub care se află bila să ajungă de pe poziţia SS pe poziţia FF.

Date de intrare

Fişierul de intrare wb.in conţine pe prima linie numerele naturale N K S FN \ K \ S \ F.

Date de ieşire

Fişierul de ieşire wb.out va conţine o singură linie pe care vor fi scrise numerele naturale a b ca \ b \ c, separate prin câte un spaţiu, având semnificaţia din enunţ.

Restricţii

  • 1N100 0001 \leq N \leq 100\ 000
  • 2K102 \leq K \leq 10
  • 1SK1 \leq S \leq K
  • 1FK1 \leq F \leq K
  • Numerele naturale aa, bb şi cc nu vor depăşi valoarea 1 0001\ 000.
  • Dacă există mai multe soluţii, se va alege soluţia în care aa este minim. Dacă există mai multe soluţii cu aa minim, se alege soluţia cu bb minim. Dacă există mai multe soluţii pentru aa şi bb minime, se alege soluţia cu cc minim.
  • Pentru datele de test există soluţie.

Exemplu

wb.in

3 4 2 4

wb.out

2 0 1

Explicație

Se execută N=3 interschimbări. Există 44 pahare, aşezate pe poziţii numerotate de la 11 la 44. Iniţial bila este plasată sub paharul aflat pe poziţia 22, iar după 33 interschimbări va ajunge pe poziţia 44.
□ ■ □ □
Considerăm a=2 b=0 c=1a=2 \ b=0 \ c=1
Interschimbarea 11: x1=1x_1=1
Se interschimbă paharul de pe poziţia 22 cu paharul de pe poziţia 33
□ □ ■ □
Interschimbarea 22: x2=(2x1+0)=2x_2=(2 \cdot x_1+0)=2
Se interschimbă paharul de pe poziţia 33 cu paharul de pe poziţia 44
□ □ □ ■
Interschimbarea 33: x3=(2x2+0)=4x_3=(2 \cdot x_2+0)=4
Se interschimbă paharul de pe poziţia 11 cu paharul de pe poziţia 22
□ □ □ ■

Log in or sign up to be able to send submissions!