Linnatänavate ümbervärvimine
문제
Väga Uhkes Linnas toimub sel aastal Iseäranis Oluline Informaatikavõistlus. Et kaugetele külalistele muljet avaldada, on linnas alustatud mitmeid renoveerimistöid. Muuhulgas oli plaan värvida kõik linnatänavad kas punaseks või siniseks. Nüüd on aga rohelise värvi tootja teinud linnapeale "kingituse" ja seega tuleb plaanid ümber teha.
Linn koosneb endiselt ristmikust ning neid ühendavast kahesuunalisest tänavast. Ristmikud on nummerdatud . Ühtki ristmike paari ei ühenda mitu tänavat, ükski tänav ei ühenda mõnd ristmikku iseendaga ja igalt ristmikult on igale teisele võimalik mööda tänavaid jalutada.
Iga tänav tuleks värvida kas punaseks, siniseks või roheliseks. Linnapea arvab, et tänavatel on palju huvitavam jalutada, kui iga tänav on eelmisest erinevat värvi. Niisiis, otsustamaks, kuidas tänavaid värvida, on linnapea andnud lisatingimuse: "kui ja on erinevad ristmikud, siis peab olema võimalik jalutada ristmikult ristmikule nii, et iga tänav sellel jalutuskäigul on eelmisest erinevat värvi." Mõni selline jalutuskäik võib ühte tänavat või ristmikku ka mitu korda külastada.
Kirjutada programm, mis otsustab, mis värvi iga tänav värvida, või tuvastab, et selline värvimine ei ole võimalik.
입력
Faili esimesel real on kaks täisarvu: ja ehk ristmike ja tänavate arv (, ). Järgneval real on igaühel kaks täisarvu ja (, ), mis näitavad, et ristmike ja vahel on tänav.
출력
Faili esimesse ritta kirjutada SAAB, kui selline värvimine on võimalik, või EI SAA, kui ei ole. Kui värvimine on võimalik, siis kirjutada järgmisele reale igaühele ühe tänava värv ('punane', 'sinine' või 'roheline') tänavate sisendis kirjeldamise järjekorras.
예제
예제 1
6 6 1 2 2 3 3 1 1 4 4 5 4 6
SAAB punane sinine roheline sinine roheline roheline
예제 2
5 4 1 2 1 3 1 4 1 5
EI SAA