격자

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

문제

제럴드는 종이 한 장에 직사각형 격자를 그리느라 몇 시간을 보냈다. 먼저 이웃한 두 선의 간격이 모두 dxdx로 같은 세로선을 여러 개 그었고, 이어서 이웃한 두 선의 간격이 모두 dydy로 같은 가로선을 여러 개 그었다. dxdxdydy는 모두 양수이고, 그은 선은 모두 끝없이 뻗는 직선이다.

제럴드가 차를 마시며 쉬는 동안 동생 마이크가 들어와 종이에 직선 하나를 긁어 놓았다. 화가 난 제럴드는 이상한 것을 전부 지우라고 했다. 마이크는 지우개로 자국을 거의 다 지웠지만, 자기 직선과 격자가 만나는 점은 미처 보지 못했다. 그 점은 지운 뒤에도 알아볼 만큼 진하게 남았다.

마이크는 남은 점을 공책에 옮겨 적었고, 두 형제는 이 목록이 맞을 수 있는지를 두고 다투고 있다.

격자는 정수 x1x2x_1 \le x_2, dx>0dx > 0, y1y2y_1 \le y_2, dy>0dy > 0으로 정해지며, x2x1x_2 - x_1dxdx의 배수이고 y2y1y_2 - y_1dydy의 배수이다. 격자는 세로선 x=x1,x1+dx,,x2x = x_1, x_1 + dx, \ldots, x_2와 가로선 y=y1,y1+dy,,y2y = y_1, y_1 + dy, \ldots, y_2로 이루어진다. 마이크의 직선은 임의의 직선이다. 어떤 격자와 어떤 직선의 공통점이 주어진 점 전체와 정확히 일치하면 목록이 맞다고 한다. 이때 마이크의 직선은 격자선과 겹칠 수 없다. 겹치면 공통점이 무한히 많아지기 때문이다.

목록이 맞을 수 있는지 판정하라.

입력

첫째 줄에 점의 개수 nn이 주어진다 (3n1000003 \le n \le 100\,000).

다음 nn개 줄에 점 하나의 좌표 xix_iyiy_i가 한 줄에 하나씩 주어진다. 각 좌표의 절댓값은 10910^9 이하이다.

주어지는 점은 모두 서로 다르다.

출력

조건을 만족하는 격자와 직선이 존재하면 YES를, 존재하지 않으면 NO를 출력한다.