Ernest este un prea cunoscut călător în timp, iscusit la afaceri. De această dată, el se află în California anului 1851 în plina "Goană după Aur". Rețeaua de drumuri dintre orașele Californiei poate fi reprezentată ca un multigraf ponderat (cu costuri pe muchii) neorientat cu noduri (orașe) și muchii (drumuri). Ernest vrea să transporte aurul descoperit de el pe o rută din orașul până în orașul folosind rețeaua de drumuri. O rută de la un oraș la un oraș reprezintă o succesiune de drumuri care începe în și se termină în . Distanța unei rute este egală cu suma distanțelor drumurilor ce o formează.
El este un bun istoric și știe despre incendiul din San Francisco ce urmează să aibă loc. Din păcate, el nu este și un bun geograf și nu știe care dintre orașe este San Francisco, neștiind astfel nici drumurile care ar putea fi afectate de incendiu.
Cerință
Ernest este precaut și vrea să își diversifice rutele, dar fără să sacrifice din eficiență. Astfel, el vrea să îl ajutați să afle, pentru fiecare drum dintre orașe, câte rute de distanță minimă dintre orașele și folosesc acest drum, modulo .
Date de intrare
Pe prima linie se găsesc două numere naturale, și . Pe următoarele linii se află drumurile dintre orașe sub forma , , , reprezentând faptul că orașele și sunt conectate de un drum de distanță .
Date de ieșire
Pentru a reduce dimensiunea fișierului de output, se va afișa un singur număr, suma răspunsurilor pentru toate cele muchii, calculată modulo .
Restricții și precizări
- ;
- ;
- ;
- ;
- Orașele sunt numerotate de la la ;
- Între două noduri și pot exista mai multe muchii;
- Pentru teste valorând de puncte, , ;
- Pentru restul de de puncte, nu există restricții suplimentare.
Exemplu
stdin
4 5
1 3 5
3 4 6
4 2 7
2 1 18
2 3 12
stdout
2
Explicație
Există o singură rută de la orașul la orașul cu distanța care folosește drumuri.