CSES - Parit
  • Time limit: 5.00 s
  • Memory limit: 512 MB

Uolevilla on verkko jonka jokaisessa kaaressa on luku. Uolevi tekee verkkoon operaatiota. Yhdessä operaatiossa Uolevi poistaa verkosta kaksi kaarta joilla on yhteinen solmu. Uolevi saa operaatiossa pisteitä kaarien lukujen verran. Tehtäväsi on selvittää mikä on suurin määrä pisteitä minkä Uolevi voi saada, ja rakentaa joku optimaalinen tapa tehdä operaatiota.

Syöte

Syötteen ensimmäisellä rivillä on kaksi lukua, nn ja mm, verkon solmujen ja kaarien määrät. Seuraavat mm riviä kuvaavat kaaret. Jokaisella rivillä on kolme lukua uu, vv ja cc, jotka tarkoittavat että kaari on solmujen uu ja vv välillä ja siinä on luku cc.

Tuloste

Tulosta ensimmäiselle riville optimaalinen pistemäärä. Sen jälkeen tulosta luku kk, operaatioiden määrä. Sen jälkeen tulosta kk riviä, joista jokaisella on kaksi lukua, aa ja bb, jotka tarkoittavat että tämä operaatio poisti kaaret aa ja bb. Kaaret on numeroitu siinä järjestyksessä missä ne annettiin syötteessä (ensimmäinen kaari on numero 1).

Rajat

  • 1n1051 \le n \le 10^5
  • 1m1061 \le m \le 10^6
  • 0c1090 \le c \le 10^9
  • 1u,vn,uv1 \le u, v \le n, u \neq v

Esimerkki

Syöte:

4 3
1 2 20
2 3 10
3 4 30

Tuloste:

40
1
2 3

Syöte:

3 3
1 2 1
2 3 2
3 1 3

Tuloste:

5
1
2 3

Syöte:

5 4
1 2 1
1 3 10
1 4 100
1 5 1000

Tuloste:

1111
2
1 2
3 4

Syöte:

6 4
1 2 1000000
1 3 1000000
4 5 1000000
4 6 1000000

Tuloste:

4000000
2
1 2
3 4