평평한 정사각형 종이를 접은 뒤 접힌 더미에 핀을 하나 관통시켜, 종이를 다시 펼쳤을 때 원래 종이에 생기는 구멍의 개수를 구하는 시뮬레이션을 해야 한다.
접기 명령들의 나열과 그 뒤에 핀 구멍 위치 하나가 주어진다. 하나의 접기 명령은 두 점 $P$와 $Q$의 쌍이다. 종이는 $P$가 위에서 $Q$에 닿도록 접는다. 즉 선분 $PQ$의 수직이등분선인 접는 선을 따라 종이에 자국을 내고, $P$ 쪽에 있는 부분을 반대쪽으로 뒤집는다. 종이의 두께는 무시한다.
접힌 종이는 여러 개의 평평한 종이 조각들이 곧은 경첩(접힌 자국)으로 이어진 더미이다. 각 접기는 일부 조각을 접는 선을 따라 더 작은 조각으로 나누고 그중 일부를 뒤집는다. 접는 선을 가로지르는 조각은 둘로 나뉘어 그중 한 조각이 뒤집히고, 접는 선을 가로지르지 않는 조각은 통째로 뒤집히거나 그대로 남는다. 어떤 조각을 뒤집을지는 더 이상 뒤집을 조각이 없을 때까지 다음 규칙을 반복 적용하여 정한다.
조각이 뒤집힐 때 그 조각은 접는 선을 기준으로 반사된다. 모든 접기 명령을 수행한 뒤, 핀 구멍 위치에서 핀이 모든 종이 층을 관통하므로 그 위치를 덮는 각 층에 구멍이 하나씩 생긴다. 종이를 펼쳤을 때 생기는 구멍의 개수(즉 최종 접힌 더미에서 핀 구멍 위치를 덮는 종이 층의 개수)를 구하라.
입력은 여러 개의 데이터셋으로 이루어진다. 입력의 끝은 0 하나만 있는 줄로 표시된다. 각 데이터셋의 형식은 다음과 같다.
k
px1 py1 qx1 qy1
...
pxk pyk qxk qyk
hx hy
모든 데이터셋에서 처음 종이는 한 변이 100 mm인 정사각형이며, mm를 단위로 할 때 네 꼭짓점은 $(0,0)$, $(100,0)$, $(100,100)$, $(0,100)$에 있다. 정수 $k$는 접기 명령의 개수이며 $1 \le k \le 10$이다. 이어지는 $k$개의 각 줄에는 공백으로 구분된 네 정수 $px_i$, $py_i$, $qx_i$, $qy_i$가 있어 $i$번째 명령의 두 점 $P = (px_i, py_i)$와 $Q = (qx_i, qy_i)$를 준다. $P \ne Q$라고 가정해도 된다. 명령은 주어진 순서대로 수행해야 한다. 마지막 줄에는 두 정수 $hx$, $hy$가 있어 핀 구멍의 위치 $(hx, hy)$를 나타낸다.
다음을 가정해도 된다.
각 데이터셋에 대해 펼친 종이에 생기는 핀 구멍의 개수를 한 줄에 출력한다. 출력에는 다른 어떤 문자도 나타나서는 안 된다.