Допоможи собі (Платина)#10607

Допоможи собі (Платина)

1 секунда
128 мегабайтів
Дуже складна

Бессі отримала відрізків на числовій прямій. -ий відрізок містить усі дійсні числа , такі що l_i \leq x \leq r_i.

Об'єднанням набору відрізків називаємо множину всіх , що належать хоча б одному з відрізків. Складність набору відрізків визначається як кількість зв'язаних областей в їх об'єднанні, піднесена до степеня .

Бессі хоче обчислити суму складностей для всіх 2^n підмножин даного набору відрізків за модулем 10^9 + 7.

Зазвичай ти допомагаєш Бессі, але цього разу ти сам є Бессі, і допомогти тобі нікому. Допоможи собі!

Вхідні дані

Перша строка містить (1 \leq n \leq 10^5) і (2 \leq k \leq 10). Кожен з наступних рядків містить два цілих числа l_i і r_i. Гарантується, що l_i < r_i, і всі значення l_i, r_i різні та знаходяться в діапазоні від до .

Вихідні дані

Виведіть відповідь за модулем 10^9 + 7.

Приклади

Складність кожної непорожньої підмножини наведена нижче.

{[1,6]} ⟹ 1, {[2,3]} ⟹ 1, {[4,5]} ⟹ 1

{[1,6],[2,3]} ⟹ 1, {[1,6],[4,5]} ⟹ 1, {[2,3],[4,5]} ⟹ 4

{[1,6],[2,3],[4,5]} ⟹ 1

Відповідь дорівнює 1 + 1 + 1 + 1 + 1 + 4 + 1 = 10.

Приклад 1

Loading
Loading