
카카오 뷰는 사용자가 관심을 가질 만한 주제를 분석하고, 이를 바탕으로 큐레이팅을 진행하는 카카오톡의 서비스이다. '발견'을 통해 흥미로운 주제의 콘텐츠를 탐색하고, 마음에 드는 콘텐츠는 My뷰에 등록해서 지속적으로 구독할 수 있다.
당신은 N개의 관심 분야를 정하고, 관심 분야마다 2명의 에디터를 골라 그들의 콘텐츠를 받아보기로 했다.
i (1≤i≤N)번째 관심 분야의 에디터 2명은 각각 현재까지 A_i개, B_i개의 글을 작성하였다. 당신은 각 관심 분야마다, 에디터 2명의 글이 같은 개수만큼 등장하도록 My뷰를 꾸밀 것이다. 또한, 에디터마다 최소 1개 이상씩의 글이 등장하도록 할 것이다.
당신은 위 방법대로 My뷰를 구성할 수 있는 경우의 수가 얼마나 되는지 알아보고자 한다.
경우의 수를 셀 때 글들의 정렬 순서는 고려하지 않는다고 하자. 즉, 큐레이션에 포함된 글들이 모두 동일하다면 정렬 순서가 다르더라도 같은 경우로 취급한다.
첫 번째 줄에 정수 N이 주어진다. (1≤N≤300,000)
두 번째 줄부터 N개의 줄에 걸쳐, i+1번째 줄에 A_i,B_i가 공백을 사이에 두고 주어진다. (1≤A_i,B_i≤300,000)
지문에 주어진 방법대로 My뷰를 구성할 수 있는 경우의 수를 출력하라. 답이 커질 수 있으므로 109+7로 나눈 나머지를 출력한다.