만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

무한평면 색칠하기

시간 제한2초메모리 제한1024 MB

요약
정수 벡터 N개가 만드는 격자가 평면의 정수점 중 차지하는 비율을 구하고, 그 분수를 mod 1,000,000,007 값으로 출력합니다.
난이도

보통10점 중 6점

유형
수학, 정수론
정답자
아직 제출이 없습니다

문제

모든 격자점이 흰색으로 칠해진 좌표평면이 있다. 지호는 서 있는 점에서 (x_i,y_i)(x\_i, y\_i)만큼 혹은 (−x_i,−y_i)(-x\_i, -y\_i)만큼 움직일 수 있다.

원점 (0,0)(0, 0)에서 출발하여 지호가 도달할 수 있는 점을 모두 검은색으로 칠하자.

예를 들어, 지호가 (2,0)(2,0), (2,2)(2,2), (0,2)(0,2)만큼 이동할 수 있는 경우는 다음과 같다.

빨간 점은 원점이고, 파란 점은 원점에서 바로 이동할 수 있는 점이다. (−x_i,−y_i)(-x\_i, -y\_i)만큼 이동하는 것도 가능하므로 녹색 점 또한 원점에서 바로 이동할 수 있다. 여러 번 이동해서 도달할 수 있는 점은 검은색으로 칠해진다. 흰색으로 칠해진 점을 제외하면, 모든 점은 원점에서 도달할 수 있다.

모든 격자점 중 칠해진 점의 비율은 유리수로 나타낼 수 있다. 위 예시에서는 좌표가 모두 짝수인 점만 칠해지므로 칠해진 점의 비율은 1/41/4이다.

이 유리수를 기약분수 ab\frac{a}{b}로 나타낼 때, (a⋅b−1) mod 1 000 000 007(a \cdot b^{-1}) \bmod 1\,000\,000\,007을 출력하여라. 여기서 1 000 000 0071\,000\,000\,007은 소수이다.

비율이 00이면 00을, 11이면 11을 출력하면 된다. 비율은 항상 유리수로 나타낼 수 있으며, 기약분수 ab\frac{a}{b}에서 bb가 1 000 000 0071\,000\,000\,007의 배수인 테스트케이스는 주어지지 않는다. 즉, 답은 항상 존재한다.

입력

첫 번째 줄에 NN이 주어진다. 두 번째 줄부터 NN개의 줄이 주어지며, ii번째 줄에는 공백으로 구분된 x_ix\_i와 y_iy\_i가 주어진다.

출력

첫 번째 줄에 답을 출력하여라.

제한

  • 2≤N≤1 000 0002 \le N \le 1\,000\,000
  • −109≤x_i,y_i≤109-10^9 \le x\_i, y\_i \le 10^9 (1≤i≤N1 \le i \le N)

힌트

점 (x,y)(x,y)에서 (x′,y′)(x',y')만큼 움직이면 점 (x+x′,y+y′)(x+x', y+y')으로 이동한다.

검은색 점의 비율 AA는 다음과 같이 엄밀하게 정의한다. 모든 ϵ>0\epsilon>0에 대해, 어떤 양의 정수 NN이 존재하여 n>Nn > N인 모든 정수 nn에 대해, −n≤x,y≤n-n \le x,y \le n 범위의 모든 격자점 (x,y)(x,y) 중 칠해진 점의 비율과 AA의 차이가 ϵ\epsilon 미만이다. 본 문제에서는 AA가 항상 존재하고 유리수임을 보장한다.

소수 pp와 정수 a,ba,b에 대해 gcd⁡(b,p)=1\gcd(b,p)=1이면, (a⋅b−1) mod p(a \cdot b^{-1}) \bmod p는 bx≡a(modp)bx \equiv a \pmod{p}를 만족하는 가장 작은 음이 아닌 정수 xx이다.

예제2

  1. 예제 1

    입력
    3
    2 0
    2 2
    0 2
    
    예상 출력
    250000002
    
  2. 예제 2

    입력
    2
    1 2
    2 4
    
    예상 출력
    0