슬랙라인 놀이
시간 제한2초메모리 제한512 MB
거리가 L 이상 R 이하이면서 다른 나무가 없는 나무 쌍의 수를 구합니다. 격자점 가시성과 띠 번호 포함배제로 셉니다.
문제
Beltrano는 최근 슬랙라인에 흥미를 가졌다. 슬랙라인은 두 고정점 사이에 팽팽하게 당긴 탄성 띠 위에서 균형을 잡으며 걷고 묘기를 부리는 스포츠이다. 방학 동안 Beltrano가 하고 싶은 것은 오직 연습뿐이라, 그는 친구의 농장으로 갔다. 그곳에는 유칼립투스 농장이 있다.
농장은 아주 잘 정리되어 있다. 유칼립투스는 N개의 줄에 배열되어 있고 각 줄에는 M그루의 나무가 있다. 각 줄 사이에는 1미터의 간격이 있고, 서로 다른 줄의 나무들은 모두 완벽하게 정렬되어 있으며 그 사이 간격도 1미터이다.
Beltrano는 두 그루의 나무를 사용해 슬랙라인을 설치할 것이다. 슬랙라인을 설치할 때 Beltrano는 두 나무 사이의 거리가 너무 짧은 것을 좋아하지 않는다. 최고의 묘기를 부리려면 띠가 적어도 L미터는 되어야 하기 때문이다. 또한 띠의 최대 길이가 R미터이므로 너무 많이 늘릴 수도 없다. 선택한 두 나무 사이에 띠를 팽팽하게 당길 때, 그 사이 선분 위에 다른 나무가 하나도 없어야 한다. 그렇지 않으면 띠 전체를 묘기에 사용할 수 없다.
Beltrano는 농장의 나무를 사용해 슬랙라인을 설치할 수 있는 서로 다른 방법이 몇 가지인지 알고 싶어 한다. 띠를 묶은 나무 중 적어도 하나가 다르면 두 방법은 서로 다른 것으로 본다.
입력
입력은 한 줄로 이루어져 있고, 네 정수 N, M, L, R이 주어진다. 각각 농장의 줄 수와 열 수, 슬랙라인의 최소 길이와 최대 길이를 나타낸다. (1 ≤ N, M ≤ 105; 1 ≤ L ≤ R ≤ 105)
출력
프로그램은 슬랙라인을 설치할 수 있는 서로 다른 방법의 수를 나타내는 정수 하나를 한 줄에 출력해야 한다. 결과가 클 수 있으므로 답은 109 + 7로 나눈 나머지로 출력한다.