Bokštas
문제
Jonas mėgsta žaisti su spalvotais kubeliais. Štai ir dabar dėliodamas kubelių vieną ant kito jis pastatė bokštą. Deja, Jonui bokštas nepatinka – jis norėtų taip perstatyti bokštą, kad jame neliktų ilgų vienspalvių kubelių sekų.
Norėdamas tą pasiekti, Jonas iš bokšto pašalins visas maksimalias vienspalves besiliečiančių kubelių sekas iš ≥ K kubelių.
Pavyzdžiui, turint bokštą:
[이미지 1]
ir , Jonas pašalintų ilgą žalių kubelių seką. Taip gautų naują bokštą:
[이미지 2]
Jei bokšte yra kelios šalinamos sekos, jos visos pašalinamos vienu metu.
Perstačius bokštą jame vėl gali susidaryti ilgų tos pačios spalvos kubelių sekų. Tokiu atveju Jonas ir vėl randa visas ilgas vienspalvių kubelių sekas ir perstato bokštą be jų.
Šiame bokšte raudonų kubelių seka yra ilgio , todėl Jonas vėl perstato bokštą:
[이미지 3]
Akivaizdu, kad kartais toks perstatymo procesas gali būti kartojamas gan ilgai. Padėkite Jonui surasti, kaip atrodytų bokštas po visų perstatymų.
입력
Pirmojoje eilutėje pateikti du sveikieji skaičiai – bokšto aukštis, ir .
Likusiose eilučių aprašyti bokštą sudarančių kubelių spalvų kodai (sveikieji skaičiai):
- pirmojoje eilutėje pateiktas skaičius – viršutinio kubelio spalva;
- antrojoje eilutėje pateiktas skaičius – kubelio esančio po -uoju spalva;
- -tojoje eilutėje pateiktas skaičius – kubelio esančio po -uoju spalva;
- -tojoje eilutėje pateiktas skaičius – apatinio kubelio spalva.
출력
Pirmojoje eilutėje išveskite bokšto, gauto po visų perstatymų, aukštį . Likusiose eilučių išveskite skaičius . Tai bokštą sudarančių kubelių spalvų kodai pradedant bokšto viršuje esančiu kubeliu ir baigiant apatiniu.
예제
예제 1
7 3 1 2 2 2 2 1 1
0
예제 2
6 3 2 2 2 2 1 1
2 1 1
예제 3
5 2 1 1 2 1 1
1 2