만드는 중입니다

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

소 세기

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

요약
각 질의에서 (x, y)부터 (x+d, y+d)까지 대각선 위에 놓인 소의 수를 셉니다. 좌표는 최대 10^18입니다.
난이도

보통10점 중 7점

유형
동적 계획법, 수학, 재귀
정답자
아직 제출이 없습니다

문제

농부 존의 소들은 그의 가장 큰 목초지 곳곳에 흩어져 있다. 이 목초지는 거대한 2차원 격자, 즉 아주 큰 체스판과 같은 정사각형 칸들로 볼 수 있다.

목초지에 놓인 소들의 패턴은 흥미롭다. 모든 x≥0x\ge 0, y≥0y\ge 0인 칸 (x,y)(x,y)에 대해, 모든 정수 k≥0k\ge 0에서 ⌊x3k⌋\left\lfloor \frac{x}{3^k}\right\rfloor를 3으로 나눈 나머지와 ⌊y3k⌋\left\lfloor \frac{y}{3^k}\right\rfloor를 3으로 나눈 나머지의 홀짝이 같으면 (x,y)(x,y)에 소가 있다. 즉 두 나머지가 모두 홀수(1)이거나, 모두 짝수(0 또는 2)이면 된다. 0≤x,y<90\le x,y<9 범위에서 소가 있는 칸은 아래 그림에서 1로 표시되어 있다.

        x
    012345678

  0 101000101
  1 010000010
  2 101000101
  3 000101000
y 4 000010000
  5 000101000
  6 101000101
  7 010000010
  8 101000101

농부 존(FJ)은 목초지의 일부 영역에 소가 몇 마리 있는지 알고 싶어 한다. QQ개의 질의가 주어지며, 각 질의는 정수 xix_i, yiy_i, did_i로 이루어진다. 각 질의마다 (xi,yi)(x_i,y_i)에서 (xi+di,yi+di)(x_i+d_i,y_i+d_i)까지 대각선 방향으로 놓인 칸들(양 끝 포함)에 있는 소의 수를 구한다.

입력

첫 줄에 질의의 개수 QQ (1≤Q≤1041\le Q\le 10^4)가 주어진다. 이어서 QQ개의 줄에 세 정수 did_i, xix_i, yiy_i (0≤xi,yi,di≤10180\le x_i,y_i,d_i\le 10^{18})가 한 줄에 하나씩 주어진다.

출력

QQ개의 줄에 각 질의의 답을 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    8
    10 0 0
    10 0 1
    9 0 2
    8 0 2
    0 1 7
    1 1 7
    2 1 7
    1000000000000000000 1000000000000000000 1000000000000000000
    
    예상 출력
    11
    0
    4
    3
    1
    2
    2
    1000000000000000001