만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

카우미스트리

시간 제한1초메모리 제한512 MB

요약
서로 겹치지 않는 N개의 구간에서 모든 쌍의 XOR이 K 이하인 서로 다른 세 수의 조합 개수를 10^9+7로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

유형
비트 연산, 분할 정복, 조합론
정답자
아직 제출이 없습니다

문제

Bessie는 화학 숙제를 계속 미뤄 두었고 이제 당신의 도움이 필요하다. 그녀는 서로 다른 세 종류의 cow-michal을 섞어 혼합물을 만들어야 한다. 그런데 현명한 소들이 아는 것처럼, 일부 cow-michal은 서로 섞으면 폭발하므로 같은 혼합물에 넣을 수 없다. 라벨이 aa와 bb인 두 cow-michal은 a⊕b≤Ka \oplus b \le K일 때에만 같은 혼합물에 들어갈 수 있다 (1≤K≤1091 \le K \le 10^9).

NOTE: 여기서 a⊕ba\oplus b는 음이 아닌 정수 aa와 bb의 비트 단위 배타적 논리합(XOR)을 뜻한다. 이 연산은 2진수에서 같은 자리의 비트끼리 더하되 올림은 버린다. 예를 들어,

0⊕0=1⊕1=0,0\oplus 0=1\oplus 1=0, 1⊕0=0⊕1=1,1\oplus 0=0\oplus 1=1, 5⊕7=1012⊕1112=0102=2.5\oplus 7=101_2\oplus 111_2=010_2=2.

Bessie는 cow-michal이 담긴 상자를 NN개(1≤N≤2⋅1041\le N\le 2\cdot 10^4) 가지고 있다. ii번째 상자에는 라벨이 lil_i부터 rir_i까지(양 끝 포함) 붙은 cow-michal이 들어 있다(0≤li≤ri≤1090\le l_i \le r_i \le 10^9). 두 상자에 같은 cow-michal은 없다. 그녀가 만들 수 있는 서로 다른 세 cow-michal의 혼합물이 모두 몇 가지인지 구하라. 두 혼합물은 한쪽에만 들어 있는 cow-michal이 하나라도 있으면 서로 다른 것으로 본다. 답이 매우 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

입력

첫 줄에 두 정수 NN과 KK가 주어진다.

이어지는 NN개의 줄에는 각각 공백으로 구분된 두 정수 lil_i와 rir_i가 주어진다. 상자는 내용물의 순서대로 주어지며, 각 1≤i<N1 \le i < N에 대해 ri<li+1r_i < l_{i+1}이다.

출력

Bessie가 만들 수 있는 서로 다른 세 cow-michal 혼합물의 개수를 109+710^9 + 7로 나눈 나머지로 출력한다.

예제2

  1. 예제 1

    입력
    1 13
    0 199
    
    예상 출력
    4280
    
  2. 예제 2

    입력
    6 147
    1 35
    48 103
    125 127
    154 190
    195 235
    240 250
    
    예상 출력
    267188