숫자 게임

0 이하로 만드는 쪽이 지는 뺄셈 게임에서 선공이 이기는 순서쌍이 주어진 구간에 몇 개인지 셉니다.

보통7게임 이론정수론재귀수학아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

아리아와 브랜이 게임을 한다. 처음에 칠판에는 양의 정수 AABB가 적혀 있다. 아리아부터 번갈아 차례를 진행한다. 차례가 된 플레이어는 양의 정수 kk를 하나 골라 AAAk×BA - k \times B로 바꾸거나, BBBk×AB - k \times A로 바꿀 수 있다. 두 수 가운데 하나를 0 이하로 만든 사람이 진다.

처음 수가 (12,51)(12, 51)이면 게임은 예를 들어 다음처럼 흘러간다.

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

브랜이 어떻게 두더라도 아리아가 반드시 이기면 (A,B)(A, B)를 승리 위치라고 부른다.

정수 A1A_1, A2A_2, B1B_1, B2B_2가 주어진다. A1AA2A_1 \le A \le A_2이고 B1BB2B_1 \le B \le B_2인 승리 위치 (A,B)(A, B)의 개수를 세어라.

입력

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

제한

  • 1T1001 \le T \le 100
  • 1A1A21061 \le A_1 \le A_2 \le 10^6
  • 1B1B21061 \le B_1 \le B_2 \le 10^6

출력

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