Ертегі қаласы
Ертегі қаласында әртүрлі аудандарды байланыстыратын жолдар желісі салынған. Қаланың әкімі көлік жүйесін оңайлату үшін барлық жолдарды автобус маршруттарына бөлуге шешім қабылдады. Әр маршрут \(2\) немесе \(3\) жолдан тұруы керек (яғни, \(2\) немесе \(3\) жолдан тұрып, сәйкесінше \(3\) немесе \(4\) ауданды байланыстырады). Бұл ауысу уақытын қысқартып, автобустарды тиімдірек бөлуге мүмкіндік береді. Маршрут қайталанатын төбелерді қамтуы мүмкін, сондықтан маршрут міндетті түрде қарапайым жол болуы шарт емес.
Алайда инженерлер қиын мәселеге тап болды: әр жол тек бір маршрутқа кіріп, барлық маршруттар талаптарға сәйкес болатындай жолдарды қалай бөлуге болады? Оларға жолдарды бөлу тәсілін табуға көмектесіңіз!
Енгізу
Бірінші жолда екі бүтін сан \(n\) және \(m\) \((1 \le n \le 10^5\), \(0 \le m \le 10^5)\) беріледі — аудандар және жолдар саны.
Келесі \(m\) жолда \(u\) және \(v\) \((1 \le u, v \le n\), \(u \ne v)\) жұптары беріледі, олар аудандар арасындағы жолдарды сипаттайды. Кез келген екі аудан арасындағы екі жолдың болмауы кепілдендірілген. Бірақ жолдар желісінің байланыссыз екендігі кепілдендірілмеген, яғни кейбір аудандардан басқа аудандарға жету мүмкін болмауы мүмкін.
Шығару
Бірінші жолда бір бүтін сан \(k\) — маршруттар санын шығарыңыз.
Келесі \(k\) жолда әр маршруттың сипаттамасын шығарыңыз. Әр маршрут үшін алдымен маршруттағы аудандар саны \(c\) (\(c=3\) немесе \(c=4\)) көрсетіледі, содан кейін маршруттың ретіне сәйкес (бастапқыдан соңғыға дейін) сол аудандардың нөмірлері беріледі. Кіріс деректеріндегі әр жол тек бір маршрутта ғана қолданылуы тиіс. Егер бірнеше шешім болса, кез келгенін шығарыңыз.
Егер шешім болмаса, \(-1\) бүтін санын шығарыңыз.
Мысалдар
Енгізу 1
3 2
1 2
1 3
Жауап 1
1
3 2 1 3
Енгізу 2
5 5
1 2
1 3
2 4
4 5
4 1
Жауап 2
2
3 5 4 1
4 4 2 1 3
Енгізу 3
4 3
1 2
1 3
1 4
Жауап 3
-1
Пікірлер