Cerința
Luka își conduce camionul de-a lungul unui drum drept, cu multe semafoare. Pentru fiecare semafor el știe cât timp va rămâne aprins pe culoarea roșu și cât timp pe culoarea verde (ca un semafor obișnuit, culorile alternează între roșu si verde, iar semaforul funcționează la nesfârșit, nu există culoarea galben).
Când Luka își începe călătoria, toate semafoarele sunt pe culoarea roșu și sunt la început de ciclu. Începand pe rosu, fiecare semafor se va face verde peste secunde, unde este cât timp semaforul respectiv stă pe culoarea roșu, după care își schimbă culoarea in verde și se va face roșu din nou după secunde și se repetă ciclul. Luka se mișcă cu o unitate de distanță pe secundă. Când un semafor este roșu, Luka se oprește și așteaptă până devine verde.
De asemenea, Luka este un șofer foarte atent și pleacă de pe loc fix când semaforul se face verde, iar camionul său este atât de puternic, încat ajunge la viteza de croaziera în timp neglijabil.
Scrieți un program care determină de cât timp are nevoie Luka pentru a ajunge la capătul drumului. Acesta începe drumul la distanța zero și ajunge la capătul acestuia la distanță .
Notă: Datele de intrare se citesc de la tastatură, iar datele de ieșire se afișează în consolă.
Date de intrare
Prima linie conține două numere naturale , numărul de semafoare, și , lungimea drumului.
Fiecare dintre urmatoarele linii conține câte trei numere întregi , , , unde reprezintă distanța semaforului de la începutul drumului, reprezintă cât timp semaforul este roșu, iar reprezintă cât timp semaforul este verde.
Semafoarele vor fi ordonate crescator, in funcție de . Nu vor exista mai multe semafoare in aceeași poziție.
Date de ieșire
Afișați timpul (în secunde) de care Luka are nevoie pentru a ajunge la capătul drumului.
Restricții și precizări
Exemplu 1
stdin
2 10
3 5 5
5 2 2
stdout
12
Exemplu 2
stdin
4 30
7 13 5
14 4 4
15 3 10
25 1 1
stdout
36