스네이크 게임
시간 제한2초메모리 제한1024 MB
뱀 모양 折선에서 90도 회전한 트리거 패턴이 연속된 구간으로 몇 번 나타나는지 셉니다. 두 도형은 각각 최대 50만 개의 점으로 주어집니다.
문제

알고리즘 원툴 상원이는 첫 프로젝트를 시작했다. 바로 스네이크 게임을 만드는 것이다.
게임에 자신만의 시그니처를 넣고 싶었던 상원이는 특별한 기능을 추가하기로 했다. 원래 뱀은 초록색이지만, 게임을 진행하다가 뱀 모양 안에 숨겨진 특정 모양인 트리거 패턴이 있으면 뱀의 색을 바꾸는 기능이다. 하지만 프로젝트에 며칠 밤을 새운 상원이는 이 기능을 만들 체력이 없다. 여러분이 힘들어하는 상원이를 위해 기능 구현을 도와주자. 구현해야 할 기능은 뱀 모양에 트리거 패턴이 몇 개나 있는지 찾는 것이다.

회전된 트리거 패턴도 개수에 포함해야 한다. 위 뱀 모양의 경우, 보라색으로 표시된 트리거 패턴이 두 번 나타난다. 단, 회전으로는 만들 수 없는 뒤집힌 모양은 포함하지 않는다.

뱀 모양과 트리거 패턴이 주어졌을 때, 뱀 모양에 있는 트리거 패턴의 개수를 구하라.
입력
첫 번째 줄에 뱀 모양을 나타내는 점의 개수 과 숨겨진 모양을 나타내는 점의 개수 이 주어진다.
이어지는 개의 줄에 정수 좌표 가 주어진다. 뱀 모양은 와 을 선분으로 이은 모양이다.
이어지는 개의 줄에 정수 좌표 가 주어진다. 트리거 패턴은 와 을 선분으로 이은 모양이다.
각 모양의 선분은 축에 평행하며, 연속한 두 선분을 제외하면 서로 겹치지 않는다. 연속한 두 선분은 수직이고 끝 점에서만 만난다.
출력
뱀 모양에 있는 트리거 패턴의 개수를 출력한다.