#include #include #include using namespace atcoder; using mint = modint1000000007; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf 1000000000000000000 int main(){ int N; cin>>N; long long L; cin>>L; vector X(N),W(N),T(N); rep(i,N){ cin>>X[i]>>W[i]>>T[i]; } long long cur = 0LL; long long ans = 0LL; rep(i,N){ ans += X[i] - cur; cur = X[i]; if(cur%(2*T[i])<=T[i] && (cur+W[i])%(2*T[i])<=T[i]){ ans += W[i]; cur += W[i]; } else{ ans /= 2*T[i]; ans *= 2*T[i]; ans += 2*T[i]; ans += W[i]; cur += W[i]; } } ans += L-cur; cout<