로봇
시간 제한1초메모리 제한512 MB
각 기둥의 높이가 A_i에서 B_i 사이의 정수일 때, 모든 시작 기둥에서 두 로봇이 지나는 기둥 수의 차가 2 이하인 높이 배정의 수를 10^9+7로 나눈 나머지로 구합니다.
문제
두 로봇 와 로 몇 가지 실험을 한다. 기둥 개가 1번부터 번까지 일렬로 놓여 있고, 각 기둥 의 높이는 양의 정수 이다. 각 로봇은 이웃한 기둥으로만 이동할 수 있다. 로봇이 기둥 에 있으면 기둥 또는 로 이동을 시도할 수 있다. 각 실험에서는 시작 기둥 를 고르고 두 로봇을 그 기둥에 올린다. 그다음 두 로봇은 아래 규칙에 따라 움직인다. 로봇 는 항상 왼쪽으로 움직이지만, 기둥 보다 높은 기둥으로는 갈 수 없다. 정확히 말하면, 는 이거나 이고, 인 모든 에 대해 를 만족할 때, 번 기둥()에서 멈춘다. 로봇 는 항상 오른쪽으로 움직이지만, 기둥 보다 낮은 기둥으로만 갈 수 있다. 정확히 말하면, 는 이거나 이고, 인 모든 에 대해 를 만족할 때, 번 기둥()에서 멈춘다. 각 기둥 의 높이는 이상 이하의 정수 중 아무 값으로 정할 수 있다. 어떤 기둥을 시작 기둥 로 골라도, 두 로봇이 지나간 기둥 수의 차이의 절댓값이 2 이하여야 한다. 이 조건을 항상 만족하는 높이 배정 방법의 수를 구하라. 어떤 기둥 의 높이가 다르면 서로 다른 방법으로 본다. 답은 로 나눈 나머지를 출력한다.
입력
첫 줄에 정수 이 주어진다. 다음 개 줄에는 각각 두 정수 와 가 주어진다.
출력
답을 한 줄에 출력한다.
제한
,