- Time limit: 1.00 s
- Memory limit: 128 MB
Pelaat peliä, jossa on n luolaa ja niiden välillä m käytävää. Pelissä on örkkirotuja, jotka hallitsevat luolia. Peli on suunniteltu niin, että jos luolasta a pääsee luolaan b ja päinvastoin, sama rotu hallitsee luolia a ja b.
Tehtäväsi on selvittää, montako örkkirotua pelissä voi olla korkeintaan.
Syöte
Syötteen alussa on kaksi kokonaislukua n ja m: luolien määrä ja käytävien määrä. Luolat on numeroitu 1,2,\ldots,n.
Sitten syötteessä on m riviä, jotka kuvaavat käytävät. Jokaisella rivillä on kaksi kokonaislukua a ja b. Tämä tarkoittaa, että luolasta a on käytävä luolaan b. Kaikki käytävät ovat yksisuuntaisia.
Tuloste
Tulosta ensin kokonaisluku k: suurin mahdollinen örkkirotujen määrä.
Tulosta tämän jälkeen esimerkki siitä, mitkä örkkirodut hallitsevat luolia. Tulosta jokaiselle luolalle örkkirodun numero väliltä 1,2,\ldots,k. Voit tulostaa minkä tahansa kelvollisen ratkaisun.
Rajat
- 1 \le n \le 10^5
- 1 \le m \le 2 \cdot 10^5
- 1 \le a,b \le n
Esimerkki
Syöte:
5 6 1 2 2 3 3 1 3 4 4 5 5 4
Tuloste:
2 1 1 1 2 2