만드는 중입니다

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

수 게임 (작은 입력)

시간 제한5초메모리 제한512 MB

요약
0에 먼저 도달하면 지는 배수 빼기 게임에서 선공이 이기는 순서쌍 (A, B)가 주어진 직사각형 안에 몇 개인지 셉니다.
난이도

보통10점 중 7점

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

문제

아리아와 브랜이 게임을 한다. 처음에 칠판에는 양의 정수 AA와 BB가 적혀 있다. 두 사람이 번갈아 두고, 아리아가 먼저 둔다. 자기 차례에 한 사람은 양의 정수 kk를 골라 AA를 A−k×BA - k \times B로 바꾸거나 BB를 B−k×AB - k \times A로 바꾼다. 두 수 중 하나를 처음으로 0 이하로 만든 사람이 진다.

예를 들어 처음 두 수가 (12,51)(12, 51)이면 게임이 이렇게 진행될 수 있다.

  • 아리아가 51을 51−3×12=1551 - 3 \times 12 = 15로 바꿔서 칠판에 (12,15)(12, 15)가 남는다.
  • 브랜이 15를 15−1×12=315 - 1 \times 12 = 3으로 바꿔서 칠판에 (12,3)(12, 3)이 남는다.
  • 아리아가 12를 12−3×3=312 - 3 \times 3 = 3으로 바꿔서 칠판에 (3,3)(3, 3)이 남는다.
  • 브랜이 3 하나를 3−1×3=03 - 1 \times 3 = 0으로 바꾸고 진다.

브랜이 어떻게 두더라도 아리아가 항상 이길 수 있는 시작 위치 (A,B)(A, B)를 이기는 위치라고 부른다.

네 정수 A1A_1, A2A_2, B1B_1, B2B_2가 주어진다. A1≤A≤A2A_1 \le A \le A_2이고 B1≤B≤B2B_1 \le B \le B_2인 이기는 위치 (A,B)(A, B)가 몇 개인지 세어라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에 각각 네 정수 A1A_1, A2A_2, B1B_1, B2B_2가 공백으로 구분되어 주어진다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤A1≤A2≤1,000,0001 \le A_1 \le A_2 \le 1{,}000{,}000
  • 1≤B1≤B2≤1,000,0001 \le B_1 \le B_2 \le 1{,}000{,}000
  • A2−A1≤30A_2 - A_1 \le 30
  • B2−B1≤30B_2 - B_1 \le 30

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 A1≤A≤A2A_1 \le A \le A_2이고 B1≤B≤B2B_1 \le B \le B_2인 이기는 위치 (A,B)(A, B)의 개수이다.

예제1

  1. 예제 1

    입력
    3
    5 5 8 8
    11 11 2 2
    1 6 1 6
    
    예상 출력
    Case #1: 0
    Case #2: 1
    Case #3: 20