Najnovšia móda v oblasti kalendárov je kalendár, v ktorom má každý mesiac $$28$$ dní. Nie je to až taká novinka. Táto myšlienka je veľmi stará, ale KSPáci sa k nej dostali až nedávno. Rok sa v tomto kalendári skladá z $$13$$ mesiacov, každý má presne $$28$$ dní a na konci roka nasleduje špeciálny jeden deň, ktorý sa môže využiť na oslavy nového roka. Ak ste správne počítali, výsledný kalendár by mal presne toľko dní v roku ako náš bežný gregoriánsky kalendár. Niektorým KSPákom sa nový kalendár samozrejme nepáči, pretože ich pekné dátumy narodenia ako napr. $$11.11.$$ (tento dátum je super, pretože je zrkadlový a skladá sa iba z jednotiek) sa zmenia na nezaujímave $$7.12.$$ Preto by všetci chceli rýchlo vedieť, ako bude vyzerať ich dátum narodenia v novom kalendári (aby prípadne mohli protestovať alebo bojovať za jeho zavedenie). Takisto by ich zaujímalo, ktoré dni z nášho kalendára budú nejaké pekné dátumy v novom.
Táto úloha sa bude skladať z dvoch častí. V prvej časti budete prevádzať dátumy z nášho kalendára do $$28$$ dňového a v druhej časti zase naopak. Všetky dátumy budú patriť do roku $$2015$$, takže nebudete musieť riešiť prestupné roky. Posledný deň v roku $$28$$ dňového kalendára bude označený ako 1 14 (teda ako keby to bol prvý deň neexistujúceho $$14.$$ mesiaca).
Na prvom riadku vstupu je číslo $$1$$, ktoré znamená, že sa bude prevádzať z nášho kalendára do $$28$$ dňového alebo $$2$$, ak to bude naopak. Nasleduje číslo $$n$$, $$1 \leq n \leq 10^5$$ – počet riadkov s dátumami. Ďalej máme $$n$$ riadkov, každý obsahujúci dátum buď v našom alebo $$28$$ dňovom formáte (dátumy sú uvedené klasicky, najskôr deň, potom mesiac). Vstupy budú rozdelené podľa toho, z ktorého kalendára prechody obsahujú. Ak sa vám podarí napr. prevádzať iba z gregoriánskeho kalendára do $$28$$ dňového, môžete stále získať nejaké body.
Pre každý dátum zadaný na vstupe vypíšte jeho ekvivalent v opačnom formáte.
Zo 6 bodov za popis budú 4 udelené štandartne za popis a zvyšné 2 za eleganciu vášho kódu. Body za kód sa rozdelia rovnomerne medzi obidva prevody (teda 2 za jeden smer a 2 za druhý).
Input:
1 3
11 11
1 2
31 12
Output:
7 12
4 2
1 14
Input:
2 3
7 12
4 2
1 14
Output:
11 11
1 2
31 12
Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.
Trojsten, o.z.
FMFI UK, Mlynská dolina
842 48 Bratislava
Programátorská súťaž pre základoškolákov
Materiály a úlohy na výučbu programovania
Intenzívny programátorský zážitok v lete