동적 기하 소프트웨어는 도형에 변환을 적용한 결과를 그대로 보여 주므로 변환 기하를 이해하는 데 도움이 된다. 앨리스는 기본 변환인 밀기, 뒤집기, 돌리기, 곧 평행이동과 반사와 회전을 배우고 있다. 오늘 다루는 것은 밀기와 돌리기다.
앨리스가 다루는 도형은 정사각형 격자 위에 그린 단순 직각다각형이다. 각 도형은 격자선 하나마다 변을 많아야 한 개 놓고, 꼭짓점은 모두 격자점이다.
앨리스가 쓰는 정의는 다음과 같다.
앨리스는 일직선으로 이어지는 변이 없는 단순 직각다각형 두 개를 받는다. 정해진 규칙 안에서 밀기와 돌리기만 써서 두 도형을 같은 퍼뮤토미노로 바꿀 수 있는지 판정해야 한다. 두 도형은 서로 다른 격자에 놓인 것처럼 독립으로 처리한다.
먼저 최소 경계 직사각형에서 빈 격자선을 없애 퍼뮤토미노를 만든다. 변을 왼쪽이나 아래로 밀어서 없애되 변 사이의 상대 순서는 그대로 둔다. 즉 평면을 수직선이나 수평선으로 훑을 때 변이 나타나는 순서가 밀기 전과 같아야 한다.
퍼뮤토미노를 얻은 다음에는 최소 경계 정사각형의 중심을 기준으로 시계 방향 90도 회전을 원하는 횟수만큼 적용할 수 있다.
이런 도형 두 개가 주어질 때 앨리스의 물음에 답하라.
첫째 줄에 첫 번째 직각다각형의 정보가 주어진다. 꼭짓점의 개수가 먼저 오고, 그 뒤에 표준 데카르트 좌표계에서의 꼭짓점 좌표가 차례로 온다. 꼭짓점은 반시계 방향으로 주어지며, 맨 아래 수평 변에서 가장 왼쪽에 있는 꼭짓점부터 시작한다. 마지막 수직 변은 마지막 꼭짓점과 첫 꼭짓점이 이룬다. 최소 경계 직사각형의 왼쪽 아래 꼭짓점은 항상 (0,0)이다.
둘째 줄에 두 번째 직각다각형의 정보가 같은 형식으로 주어진다. 두 도형의 꼭짓점 개수는 다를 수 있다.
각 도형에서 꼭짓점의 개수는 짝수이고 4 이상 500 이하다. 각 꼭짓점의 좌표 (x,y)는 0≤x≤3000, 0≤y≤3000을 만족한다.
답을 yes 또는 no로 한 줄에 출력한다.