CSES - Örkit
  • 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