Pentru jocul kalah se folosesc N cutii, în care se află bile. Cutiile sunt amplasate pe circumferinţa unui cerc şi sunt numerotate de la 1 la N în sensul acelor de ceasornic.
O mişcare este realizată în felul următor: se iau toate bilele dintr-o cutie şi se repartizează consecutiv câte una, în cutii, începând cu următoarea cutie în direcţia mişcării acelor de ceasornic. Dacă numărul bilelor este mai mare decât cel al cutiilor, repartizarea continuă până la epuizarea bilelor. În acest caz, se vor pune bile şi în cutia din care iniţial au fost extrase.
Un exemplu de mişcare este prezentat pe desen. Sunt repartizate bilele din cutia 1. În partea dreaptă bilele sunt numerotate în ordinea în care au fost puse în cutii.
În timpul unui antrenament, Ionuţ a amplasat aleatoriu bilele prin cutii, după care a început să facă mişcări. După fiecare mişcare el înscria numărul cutiei în care era pusă ultima bilă. La un moment dat Ionuţ a hotărât să restabilească repartizarea iniţială a bilelor în cutii, folosind repartizarea finală şi notiţele făcute la mişcările precedente.
Cerinţă
Scrieţi un program, care să îl ajute pe Ionuţ să determine repartizarea iniţială a bilelor.
Date de intrare
Fişierul de intrare kalah.in va conţine pe prima linie două numere naturale separate printr-un spaţiu N şi M reprezentând numărul de bile din cutii şi respectiv numărul de mişcări efectuate de Ionuţ.
Fiecare dintre următoarele N linii conţine un număr natural. Pe linia i+1 se află numărul de bile existente în cutia i în repartizarea finală.
Fiecare dintre următoarele M linii conţine câte un număr natural cuprins între 1 şi N. Pe linia i+N+1 se află indicele cutiei în care a fost pusă ultima bilă la a i-a mişcare.
Date de ieşire
Fişierul de ieşire kalah.in va conţine o singură linie pe care vor fi scrise N numere naturale separate prin câte spaţiu. Al i-lea număr de pe linie reprezintă numărul de bile existente iniţial în cutia i.
Restricţii
Numărul total de bile nu depăşeşte 109.
N, M <= 100