아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

초콜릿

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

요약
표시된 칸을 먹는 사람이 지는 초콜릿 자르기 게임에서, 어느 칸에 표시할 때 선수가 지는지 그 개수를 센다.
난이도

보통10점 중 7점

유형
게임 이론, 수학, 구현
정답자
아직 제출이 없습니다

문제

Bituś와 Bajtuś는 엄마에게서 초콜릿 한 판을 받았다. 초콜릿은 n×mn \times m 크기의 직사각형이며, n⋅mn \cdot m개의 정사각형 조각으로 나뉘어 있다. 둘은 초콜릿을 그냥 절반씩 나누는 대신 새로 생각해 낸 게임을 하기로 했다. 먼저 무작위로 고른 한 조각에 X 표시를 하고, 다음 규칙을 정했다.

  • 두 사람은 번갈아 가며 수를 두고, Bituś가 먼저 시작한다.
  • 한 번의 수는 조각들을 나누는 (가로 또는 세로) 선 하나를 따라 초콜릿을 쪼갠 뒤, 나뉜 두 조각 중 하나를 먹는 것이다.
  • X 표시된 조각을 먹는 사람이 진다.

게임은 무척 흥미진진했고, 결국 Bajtuś의 승리로 끝났다. 아쉬워하던 Bituś는 표시된 칸의 위치가 자신의 패배에 얼마나 영향을 주었는지 궁금해졌다. 그래서 n⋅mn \cdot m개의 조각 중에서, 그 조각에 X를 표시했을 때 Bituś가 지게 되는 조각이 몇 개인지 알고 싶어 한다. 두 사람 모두 최적으로 플레이한다고 가정한다.

입력

첫째 줄에 테스트 케이스의 수 tt (1≤t≤1041 \le t \le 10^4)가 주어진다. 이어지는 tt개의 줄에는 각 초콜릿의 크기를 나타내는 두 정수 nn, mm (1≤n,m≤1091 \le n, m \le 10^9)이 주어진다.

출력

tt개의 줄을 출력한다. ii번째 줄에는 ii번째 초콜릿에서 어떤 조각에 X를 표시했을 때 Bituś가 지게 되는지, 그러한 조각의 개수를 정수 하나로 출력한다.

예제4

  1. 예제 1

    입력
    2
    1 2
    2 6
    
    예상 출력
    0
    4
    
  2. 예제 2

    입력
    1
    1 1
    
    예상 출력
    1
    
  3. 예제 3

    입력
    1
    2 2
    
    예상 출력
    4
    
  4. 예제 4

    입력
    8
    1 2
    2 1
    1 3
    3 1
    2 3
    3 2
    3 3
    5 5
    
    예상 출력
    0
    0
    1
    1
    0
    0
    5
    9