색 뒤집어 칠하기

시간 제한1초메모리 제한128 MB

문제

변이 $x$축과 $y$축에 평행하고 왼쪽 아래 꼭짓점이 $(0, 0)$에 있는 직사각형을 색칠한다. 이 직사각형은 해상도가 거의 무한한 화면이라고 생각할 수 있으며, 처음에는 전체가 검은색이다. 두 실수 $0 < h < 1$과 $0 < v < 1$이 주어지면 다음 과정을 수행한다.

  • 직사각형의 가로 변을 왼쪽에서부터 $h : 1-h$의 비율로 나누는 수직선을 긋는다.
  • 직사각형의 세로 변을 아래에서부터 $v : 1-v$의 비율로 나누는 수평선을 긋는다.
  • 이 두 선은 직사각형을 네 개의 작은 직사각형으로 나눈다.
  • 왼쪽 위와 오른쪽 아래 직사각형은 색을 그대로 유지한다.
  • 나머지 두 직사각형(오른쪽 위와 왼쪽 아래)은 색을 반전시키고(검은색 ↔ 흰색), 각각에 대해 방금 큰 직사각형에 적용한 것과 똑같은 과정을 다시 적용한다.
  • 이 과정은 (원칙적으로) 영원히 반복된다.

색칠 과정에서 나타나는 어떤 직사각형의 경계에도 놓이지 않는 점 하나가 주어졌을 때, 그 점의 색을 구하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 케이스의 첫 줄에는 네 실수, 즉 직사각형의 가로 길이 $H$, 세로 길이 $V$, 그리고 비율 $h$와 $v$가 주어진다($0 < h, v < 1$). 따라서 직사각형은 $[0, H] \times [0, V]$ 영역을 차지한다. 다음 줄에는 살펴볼 점의 개수인 정수 $n$이 주어진다. 이어지는 $n$개의 줄에는 각각 한 점의 $x$좌표와 $y$좌표가 주어진다. 입력의 끝은 네 값이 모두 $0$인 줄(0 0 0 0)로 표시되며, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스에 대해 먼저 Case k: 형태의 줄을 출력한다($k$는 $1$부터 시작하는 케이스 번호). 그 다음, 입력으로 주어진 각 점에 대해 그 점의 색을 black 또는 white로 한 줄에 하나씩 출력한다.