#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define INF 1000000000 using namespace std; typedef long long ll; const int MAXN = 111; int N, L; int X[MAXN], W[MAXN], T[MAXN]; int main(void) { cin >> N >> L; for (int i = 1; i <= N; i++) { cin >> X[i] >> W[i] >> T[i]; } int cur = 0; for (int i = 1; i <= N; i++) { int t = cur + (X[i]-(X[i-1]+W[i-1])); int change = t/T[i]; if (change%2 == 0) { // 青 if (T[i] - t%T[i] >= W[i]) { t += W[i]; } else { t += 2*T[i] - t%T[i] + W[i]; } } else { t += W[i] + (T[i] - t%T[i]); } cur = t; } cur += L-(X[N]+W[N]); cout << cur << endl; return 0; }