만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

회전하는 트로미노

시간 제한3초메모리 제한1024 MB

요약
제1사분면에서 좌표 (x, y)에 있는 칸을 덮는 L자 트로미노의 방향 번호를 그림 2의 번호에 따라 출력합니다.
난이도

보통10점 중 5점

유형
분할 정복, 재귀, 수학
정답자
아직 제출이 없습니다

문제

LL 트로미노의 복제. LL-트로미노는 오른쪽 그림의 A처럼 배치된 단위 정사각형 3개로 이루어집니다. 또한 LL-트로미노는 rep-tile의 예입니다. B처럼 LL-트로미노 4개를 배치하면 높이와 너비가 각각 두 배인 자기 자신의 복제품을 만들 수 있기 때문입니다. Rep-tile은 자기 자신을 타일링할 수 있으면 재귀적으로 평면의 원하는 만큼을 채울 수 있어서 흥미롭습니다. C와 D가 이를 보여 줍니다. C는 B 4개로, D는 C 4개로 만듭니다. 그림 1은 같은 절차를 반복하여 제1사분면 전체를 LL-트로미노로 빈틈없이 채운 모습입니다. 그림의 점들은 왼쪽부터 차례로 처음 네 입력 예시에 해당합니다. 그림 1: 제1사분면을 덮는 LL-트로미노. 그림 2: LL-트로미노의 방향.

입력

첫 줄에는 케이스의 개수를 나타내는 정수 nn (1≤n≤10 000)(1 \leq n \leq 10\,000)이 주어진다. 각 케이스는 한 줄로 이루어진다. 이어지는 nn개의 줄에는 각각 공백으로 구분된 두 정수 xx와 yy가 주어지며, 이는 제1사분면의 한 칸을 나타낸다. 범위는 0≤x,y≤2600\leq x,y\leq 2^{60}이다.

출력

각 케이스마다 주어진 칸을 덮는 LL-트로미노의 방향을 그림 2의 번호에 따라 출력한다. 케이스당 한 줄씩 출력한다.

예제1

  1. 예제 1

    입력
    5
    0 0
    1 3
    2 7
    7 12
    100 100
    
    예상 출력
    0
    1
    2
    3
    0