팀 나누기

아직 제출이 없습니다시간 제한5초메모리 제한256 MB

문제

바이토츠키 선생님은 바이토치아에 있는 외판원 바이타자르 제64초등학교에서 가장 인기 있는 체육 교사다. 선생님은 수업마다 짧은 준비 운동을 마친 뒤 어떤 단체 경기를 하고 싶은지 학생들에게 묻고, 팀을 나누는 일을 돕는다.

집합할 때 학생들은 한 줄로 서고, 선 순서대로 11번부터 nn번까지 번호를 받는다. 선생님은 각 팀이 이 줄에서 연속한 구간이 되도록 팀을 만든다. 모든 학생은 정확히 한 팀에 속한다.

선생님은 학생들을 잘 알고 있어서, ii번 학생이 자기 팀의 인원수가 cic_i명 이상 did_i명 이하일 때만 그 팀 나누기에 만족한다는 것을 안다.

모든 학생이 만족하도록 팀을 나눌 수 있는지 판정하라. 나눌 수 있다면 팀 수의 최댓값과, 그 최댓값을 이루는 팀 나누기의 가짓수를 구하라.

입력

첫째 줄에 학생 수 nn (1n1061 \le n \le 10^6)이 주어진다.

다음 nn개 줄은 학생의 조건을 나타낸다. 그중 ii번째 줄에는 두 정수 cic_i, did_i (1cidin1 \le c_i \le d_i \le n)가 주어진다. ii번 학생은 자기 팀의 인원수가 구간 [ci,di][c_i, d_i]에 들어갈 때 만족한다.

출력

모든 학생이 만족하도록 나눌 수 있으면 두 정수를 공백 하나로 구분해 한 줄에 출력한다. 첫 번째 수는 팀 수의 최댓값이고, 두 번째 수는 그 최댓값을 이루는 팀 나누기의 가짓수를 109+710^9+7로 나눈 나머지다.

나눌 수 없으면 NIE를 출력한다.