정수 면적으로 자르기

정수 좌표를 가진 볼록 다각형에서 두 조각의 넓이가 모두 정수가 되는 대각선의 개수를 센다.

보통7기하수학투 포인터누적 합아직 제출이 없습니다시간 제한2초메모리 제한256 MB

문제

잉그리드는 볼록 다각형을 파는 가게를 한다. 가게에 있는 다각형은 꼭짓점 좌표가 모두 정수다.

손님이 좋아하는 다각형은 다음 조건을 만족하도록 두 조각으로 자를 수 있는 다각형이다.

  • 자르는 선은 다각형의 두 꼭짓점을 잇는 선분이다.
  • 두 조각 모두 비어 있지 않다. 즉 선분의 양 끝 꼭짓점은 서로 인접하지 않는다.
  • 두 조각의 면적이 둘 다 정수다.

조건을 만족하는 절단 방법이 많을수록 다각형 값이 비싸진다. 아래 그림에서 왼쪽 다각형은 세 가지, 오른쪽 다각형은 두 가지 방법으로 자를 수 있다.

가게가 커지면서 잉그리드는 다각형마다 값을 매기는 데 시간을 너무 많이 쓴다. 다각형의 꼭짓점 좌표를 읽어 조건을 만족하는 절단 방법의 수를 세는 프로그램을 만들어 잉그리드를 도와라.

입력

첫째 줄에 다각형의 꼭짓점 개수 nn이 주어진다 (4n2000004 \le n \le 200\,000).

다음 nn개 줄에는 꼭짓점의 좌표 xix_iyiy_i가 한 줄에 하나씩 주어진다 (109xi,yi109-10^9 \le x_i, y_i \le 10^9). 좌표는 모두 정수다.

주어지는 다각형은 볼록이고, 꼭짓점은 둘레를 따라가는 순서로 주어진다. 연속한 세 꼭짓점이 한 직선 위에 있는 경우는 없다.

출력

조건을 만족하는 절단 방법의 수 ww를 한 줄에 출력한다.