Kuningriigi jagamine
문제
Imperaator Informaticus III on juba üsna vana ja varsti teise ilma minemas. Tal on suur impeerium, mis koosneb linnast ja maanteest. Linnad on nummerdatud . Iga maantee ühendab omavahel kaks erinevat linna ja on teada, et igast linnast on võimalik mööda neid maanteid minna igasse teise linna.
Nii suurt impeeriumi on väga raske valitseda. Tõepoolest --- kuidas muidu oleks võimalik, et riigis on ainult maanteed? Seetõttu otsustas imperaator riigi oma lapse vahel ära jagada, mitte pärandada esmasündinule nagu teised imperaatorid.
Loomulikult peab see jaotus olema õiglane ja praktiline. Seega otsustati, et:
- Iga laps peab saama sama arvu linnu.
- Iga lapse saadav tükk peab olema sidus --- kui mingi laps saab endale linnad ja , siis peab olema võimalik mööda maanteid liikuda linnast linna nii, et kõik tee peale jäävad linnad on samuti selle lapse omad.
Sina oled õukonna ülemarvutaja ja pead leidma võimaluse riik nii ära jagada või teatama, et see ei ole võimalik. Tõsi küll --- viimasel juhul võetakse sul tõenäoliselt pea maha.
입력
Faili esimesel real on linnade arv ja laste arv (). Järgneb rida, kus kirjeldatakse riigi teedevõrku. Igal real on kaks arvu ja (, ), mis näitavad et linnade ja vahel on maantee.
출력
Faili esimesele reale kirjutada 'SAAB', kui soovitud tükeldamine on võimalik, või 'EI SAA', kui ei ole. Kui tükeldamine on võimalik, väljastada teisele reale tühikutega eraldatud täisarvu, kus kohal olev arv on selle lapse number, kes saab linna . Lapsed on nummerdatud .
예제
예제 1
9 3 2 8 1 9 5 6 4 5 8 7 8 1 1 6 3 5
SAAB 1 3 2 2 2 1 3 3 1
예제 2
8 4 1 2 2 3 1 4 4 5 1 6 6 7 7 8
SAAB 1 2 2 3 3 1 4 4
예제 3
4 3 1 2 2 4 1 3
EI SAA
예제 4
6 3 1 2 1 3 1 4 1 5 1 6
EI SAA