구간들
시간 제한1초메모리 제한1024 MB
주어진 구간들의 비어 있지 않은 모든 부분집합에 대해 교집합 길이의 합과 길이가 1 이상인 교집합의 개수를 10^9+7로 나눈 나머지로 구합니다.
문제
이상 이하인 모든 실수의 집합을 로 나타낸다. 이를 구간이라고 한다. 일 수 있으며, 이때 집합은 공집합이므로 주의한다.
개의 구간 , , , 의 교집합은 이상 이하인 집합이므로, 구간 로 나타낼 수 있다.
구간 의 길이는 으로 정의한다.
개의 구간 , , , 이 주어진다. 이때 이다. 한 개 이상의 구간을 선택하는 가지 방법 각각에 대해, 선택된 구간들의 교집합 길이의 합과 길이가 이상인 교집합의 개수를 구하는 프로그램을 작성하라.
입력
첫 번째 줄에 구간의 개수를 나타내는 정수 ()이 주어진다.
다음 개의 줄의 번째 줄에는 의 정보를 나타내는 두 정수 , ()가 공백 하나로 구분되어 주어진다. 즉 이다.
출력
첫 번째 줄에 한 개 이상의 구간을 선택하는 가지 방법 전부에 대해, 선택된 구간들의 교집합 길이의 합과 길이가 이상인 교집합의 개수를 공백 하나로 구분하여 출력한다. 이 수들은 매우 클 수 있으므로, 로 나눈 나머지를 출력한다.