n, l = gets.split.map(&:to_i) x = n.times.map{gets.split.map(&:to_i)} r = Array.new(l,0) w = Hash.new x.each do |xx| xx[1].times do |i| r[xx[0] + i] = xx[2] w[xx[0] + i] = xx[1] - i end end wait = 0 i = 0 while i < l if r[i] == 0 i += 1 next end if ((i + wait) / r[i]) % 2 == 1 #red #puts "NOW RED" wait += r[i] - (i + wait) % r[i] elsif r[i] - (i + wait) % r[i] < w[i] #green but not enough time #puts "NOW GREEN BUT NOT ENOUGH TIME" wait += 2 * r[i] - (i + wait) % r[i] end i += 1 end puts l + wait