3. Шпионы!

Не решаласьСложная

Филипп любит гулять по своему городу, но знает, что шпионы из ЛесТеха могут быть где угодно, поэтому он хочет узнать, по скольким различным путям он может пройти по городу Долгопрудный. Город Филиппа состоит из всех точек (x,y)(x, y) на плоскости таких, что xx и yy неотрицательны. Филипп должен начать прогулку в начале координат (точке (0,0)(0, 0)) и должен закончить путь в точке (k,0)(k, 0). Если Филипп сейчас находится в точке (x,y)(x, y), то за один шаг он может перейти в точку (x+1,y+1),(x+1,y)(x + 1, y + 1), (x + 1, y) или (x+1,y1)(x + 1, y - 1).

Кроме того, существуют nn горизонтальных отрезков, ii-й из которых идет от точки x=aix = a_i до x=bix = b_i, включительно и располагается в y=ciy = c_i. Гарантируется, что a1=0a_1 = 0, ankbna_n \leq k \leq b_n, и ai=bi1a_i = b_{i - 1} для всех 2in2 \leq i \leq n. ii-й из этих отрезков заставляет Филиппа находиться только в точках с yy координатой в отрезке 0yci0 \leq y \leq c_i, когда его xx координата находится в отрезке aixbia_i \leq x \leq b_i. Заметьте, что когда один отрезок кончается, а другой начинается, то он должен находиться под обоими отрезками одновременно.

Филипп хочет узнать, сколько существует различных путей (последовательностей шагов) из начала координат в точку (k,0)(k, 0), удовлетворяющих этим ограничениям, по модулю 109+710^9 + 7.

Формат ввода

Первая строка содержит два целых числа nn и kk (1n100,1k1018)(1 \leq n \leq 100, 1 \leq k \leq 10^{18}) - число отрезков и xx координата точки назначения.

Следующие nn строк содержат по три целых числа aia_i, bib_i и ci(0ai<bi1018,0ci16)c_i (0 \leq a_i < b_i \leq 10^{18}, 0 \leq c_i \leq 16) - левый и правый концы отрезка, и его yy координата.

Гарантируется, что a1=0,ankbna_1 = 0, a_n \leq k \leq b_n, и ai=bi1a_i = b_{i-1} для всех 2in2 \leq i \leq n.

Формат вывода

Выведите число путей, удовлетворяющих ограничениям, по модулю 1000000007(109+7)1000000007 (10^9 + 7).

Ограничения

Ограничение времени

1 с

Ограничение памяти

64 МБ

Пример 1

Ввод
1 3
0 3 3
Вывод
4

Пример 2

Ввод
2 6
0 3 0
3 10 2
Вывод
4

Теги

Нужно войти, чтобы отправить решение.Войти