만드는 중입니다

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

오픈 컵

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

요약
두 볼록 다각형이 주어질 때, 두 다각형의 변에 모두 수직이고 어느 다각형의 내부도 지나지 않는 선분이 있는지 판단합니다. 있다면 그 두 변의 번호를 출력합니다.
난이도

보통10점 중 7점

유형
기하, 투 포인터
정답자
아직 제출이 없습니다

문제

3017년. 인류는 우주 비행에 매우 능숙해졌고, 소행성 사이의 경주는 가장 인기 있는 스포츠 종목 중 하나가 되었다. 이틀 뒤 Asteroid Races Open Cup의 다음 단계가 열린다. 이 오픈 컵은 유명한 우주 경주 전도사 Spark가 주최한다.

Spark는 상위 참가자들의 통계를 정리하는 것을 좋아하고, 지난 경주와 그 결과에 얽힌 재미있는 이야기를 들려주는 것도 좋아한다. 그가 한 이야기에서 실수로 밝힌 바에 따르면, 이틀 뒤 열리는 단계의 이름은 "Grand Prix of Alpha Centauri"이다. 알파 켄타우리는 잘 연구된 항성계이므로, 경주 규칙을 아는 사람이라면 참가자들이 소행성 ICM-2017에서 소행성 YOY-2018까지 날아가야 한다는 것을 짐작할 수 있다.

각 경주에는 2차원 평면이 정해지며, 모든 우주선의 움직임은 이 평면 안에서 일어난다. 경주 중에 소행성들은 서로의 위치를 바꾸지 않는다. 이 평면은 두 소행성을 각각 볼록하고, 서로 겹치지도 닿지도 않는 다각형으로 자른다. 다각형은 반시계 방향으로 꼭짓점이 주어진다.

우주선은 소행성 표면에 수직으로만 이륙하고 착륙할 수 있다. 참가자는 출발점을 다각형 한 변의 내부에서 양 끝점을 제외한 점으로 골라야 한다. 이륙한 우주선은 출발한 변에 수직인 방향으로, 소행성에서 멀어지며 나아간다. 다른 소행성에 착륙할 때는 어떤 변의 내부 점에 착륙해야 하며, 이때 움직임은 그 변에 수직이어야 한다.

엘브루스는 초보 레이서이다. 그는 경주에 참가하려고 하지만, 아직 충분히 훈련하지 않아 우주에서 기동할 수 없다. 다행히 소행성 사이에 직선 경로가 있을 수도 있다. 그러면 우주선은 방향을 전혀 바꾸지 않고 한 소행성에서 다른 소행성으로 날아갈 수 있다. 즉, 출발점과 도착점을 골라 두 점 사이의 선분이 각 점이 속한 변에 수직이고, 그 선분이 소행성의 내부와 교차하지 않도록 할 수 있다.

엘브루스가 이 경주에 참가할 수 있는지 알아내라.

입력

첫 줄에 정수 nn이 주어진다. 이는 소행성 ICM-2017 다각형의 꼭짓점 개수이다(3≤n≤200 0003 \le n \le 200\,000). 다음 nn개 줄에는 ICM-2017 다각형 꼭짓점의 좌표 xi,yix_i, y_i가 주어진다(−109≤xi,yi≤109-10^9 \le x_i, y_i \le 10^9).

다음 줄에는 정수 mm이 주어진다. 이는 소행성 YOY-2018 다각형의 꼭짓점 개수이다(3≤m≤200 0003 \le m \le 200\,000). 다음 mm개 줄에는 YOY-2018 다각형 꼭짓점의 좌표 xi′,yi′x'_i, y'_i가 주어진다(−109≤xi′,yi′≤109-10^9 \le x'_i, y'_i \le 10^9).

두 다각형은 모두 볼록하고, 꼭짓점은 반시계 방향으로 주어지며, 한 다각형의 세 꼭짓점이 같은 직선 위에 놓이지 않는다는 것이 보장된다.

출력

두 다각형 사이에 직접 경로가 있으면 첫 줄에 "YES"를 출력한다. 둘째 줄에는 직접 경로가 연결해야 하는 소행성 ICM-2017의 변 번호와 소행성 YOY-2018의 변 번호를 출력한다.

변 ii는 다각형의 ii번 꼭짓점과 i+1i+1번 꼭짓점을 잇는다. ICM-2017 다각형의 변 nn은 nn번 꼭짓점과 1번 꼭짓점을 잇고, YOY-2018 다각형의 변 mm은 mm번 꼭짓점과 1번 꼭짓점을 잇는다.

두 다각형 사이에 직접 경로가 없으면 "NO"를 출력한다.

힌트

그림은 예제 테스트의 소행성 다각형을 보여준다.

예제3

  1. 예제 1

    입력
    3
    0 0
    1 0
    0 1
    3
    0 -1
    0 -2
    1 -1
    
    예상 출력
    YES
    1 3
    
  2. 예제 2

    입력
    3
    0 0
    1 0
    0 1
    3
    1 -1
    1 -2
    2 -1
    
    예상 출력
    NO
    
  3. 예제 3

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