#0001B4

Najkraći

Zadana je prometna mreža neke države koju čine N gradova i M jednosmjernih cesta. Gradovi su označeni brojevima od 1 do N. Za svaku cestu poznati su polazni i odredišni grad, te njena duljina. Za cestu F kažemo da nastavlja cestu E ako je odredišni grad ceste E jednak polaznom gradu ceste F. Put od grada A do grada B je takav niz cesta u kojem svaka cesta nastavlja prethodnu cestu u nizu, polazni grad prve ceste je A, a odredišni grad zadnje ceste u nizu je B. Ukupna duljina puta je zbroj duljina svih cesta na putu. Za neki put od grada A do grada B kažemo da je najkraći ako ne postoji neki drugi put od grada A i grada B s manjom ukupnom duljinom. Vaš je zadatak da za svaku cestu pronañete koliko ima različitih najkraćih puteva koji sadrže tu cestu. Kako taj broj može biti velik ispišite ostatak pri djeljenju tog broja s brojem 1 000 000 007.


InputU prvom retku nalaze se dva prirodna broja N i M (1 ≤ N ≤ 1500, 1 ≤ M ≤ 5000), broj gradova i broj cesta. U sljedećih M redaka nalaze se po tri prirodna broja U, V i D. To znači da postoji jednosmjerna cesta koja vodi iz grada s oznakom U u grad s oznakom V duljine D. Brojevi U i V bit će međusobno različiti, a duljina ceste manja od 10 000.

OutputU M redaka treba ispisati po jedan cijeli broj – ostatak pri djeljenju ukupnog broja različitih najkraćih puteva koji sadrže pojedinu cestu s brojem 1 000 000007. Ceste treba ispisati istim poretkom kojim se nalaze na ulazu.


ulaz
4 3
1 2 5
2 3 5
3 4 5

izlaz
3
4
3

Submit solution

Coming later

The grading service will be connected in a later migration step. You can inspect the task and your previous results now.