소행성의 충돌

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

문제

소행성의 궤적과 충돌을 예측하는 일은 천문대 직원에게는 일상적인 업무입니다. Bob은 오랜 시간 동안 두 소행성을 관측하여 각 소행성의 정확한 모양과 속도를 알고 있습니다. 그러나 밤을 새운 탓에, 두 소행성이 앞으로 충돌할 것인지 아니면 이미 과거의 충돌로 생긴 파편인지 판단하지 못하고 있습니다.

두 볼록(convex) 소행성의 모양과 속도가 주어질 때, 두 소행성이 과거에 충돌했거나 앞으로 충돌하는지를 판정하세요. 즉, 어느 시각엔가 두 물체가 적어도 한 점을 공유하는지를 판정하면 됩니다.

각 소행성은 일정한 속도로 직선 운동을 합니다. 소행성은 모든 행성에서 멀리 떨어져 있으므로 중력은 무시합니다. 기준 시각 t=0t = 0 에서는 두 소행성이 어떤 점도 공유하지 않는다고 가정할 수 있습니다.

입력

입력은 두 개의 블록으로 이루어지며, 각 블록은 소행성 하나를 나타냅니다. 각 소행성은 주어진 점들의 볼록 껍질(convex hull)입니다.

한 블록은 점의 개수를 나타내는 정수 nn (3n500003 \le n \le 50\,000) 이 적힌 줄로 시작합니다. 이어지는 nn 개의 줄에는 각각 한 점을 나타내는 세 정수 xx, yy, zz (1000000000x,y,z1000000000-1\,000\,000\,000 \le x, y, z \le 1\,000\,000\,000) 가 주어집니다. 주어진 점들은 한 평면 위에 있지 않음이 보장됩니다(한 평면 위에 있지 않은 네 점이 존재합니다). 블록의 마지막 줄에는 소행성의 속도를 나타내는 세 정수 vxv_x, vyv_y, vzv_z (2000000vx,vy,vz2000000-2\,000\,000 \le v_x, v_y, v_z \le 2\,000\,000) 가 주어집니다.

출력

두 소행성이 충돌했거나 충돌할 것이면(어느 시각엔가 한 점을 공유하면) YES 를, 그렇지 않으면 NO 를 출력하세요.