만드는 중입니다

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

기묘한 여행계획

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

요약
각 지점을 한 번씩 모두 방문하는 경로 중 택시 요금의 합이 B 이하인 경우의 수를 1,000,000,007로 나눈 나머지로 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 조합론, 정렬
정답자
아직 제출이 없습니다

문제

휴학을 한 창수는 열심히 알바를 해서 BB원을 모았다. 창수는 돈도 쌓였겠다, 홍준랜드로 여행을 가기로 결정했다.

홍준랜드는 NN개의 여행지로 구성되어 있으며, 각 여행지는 2차원 격자판 위에 있다. ii번째 여행지는 점 (xi,yi)(x_i, y_i)로 표현된다.

홍준랜드에는 특별한 규칙이 있다. 여행지끼리 이동할 때는 반드시 택시를 타야 한다. 택시 요금은 택시거리로 책정된다. 즉 임의의 여행지 ss (xs,ys)(x_s, y_s)에서 여행지 ee (xe,ye)(x_e, y_e)로 이동하는 데 ∣xs−xe∣+∣ys−ye∣|x_s - x_e| + |y_s - y_e|만큼의 비용이 든다. 또한 홍준랜드의 각 여행지 ii, i+1i+1에 대해 xi≤xi+1x_i \le x_{i+1}, yi≤yi+1y_i \le y_{i+1}이 성립한다. (1≤i<N1 \le i < N) 단, 같은 점에 두 개 이상의 여행지가 있는 경우는 없다. 그리고 홍준랜드의 택시는 출발지에서 탑승하자마자 경로상의 여행지를 볼 새도 없이 도착지에 도착한다.

창수는 BB원 이하의 비용을 써서 NN개의 여행지를 단 한 번씩 모두 방문하는 여행을 하고 싶어 한다.

문득 창수는 이런 계획이 몇 가지나 존재하는지 궁금해졌다. 창수가 세울 수 있는 여행계획의 경우의 수를 1,000,000,007로 나눈 나머지를 구하시오.

입력

첫 번째 줄에는 여행지의 개수 NN과 창수가 희망하는 최대 비용 BB가 공백으로 구분되어 주어진다. (1≤N≤601 \le N \le 60, 0≤B≤20000 \le B \le 2000)

이후 NN개의 줄에 걸쳐 여행지의 위치가 주어진다. ii번째 줄에는 ii번째 여행지의 정보인 두 정수 xix_i, yiy_i가 공백으로 구분되어 주어진다. (∣xi∣≤B|x_i| \le B, ∣yi∣≤B|y_i| \le B)

출력

가능한 여행 계획의 경우의 수를 1,000,000,007로 나눈 나머지를 출력한다.

예제1

  1. 예제 1

    입력
    3 20
    1 1
    3 5
    9 7
    예상 출력
    4