#P7415. [USACO21FEB] Count the Cows G

[USACO21FEB] Count the Cows G

Problem Description

As usual, Farmer John’s cows are scattered across his largest pasture. The pasture can be viewed as a huge 2D grid made of square cells (imagine a giant chessboard).

The way the cows are placed on the pasture is quite fascinating. For every cell (x,y)(x, y) with x0x \ge 0 and y0y \ge 0, there is a cow at (x,y)(x, y) if, for all integers k0k \ge 0, the remainders of x3k\left\lfloor \frac{x}{3^k}\right\rfloor and y3k\left\lfloor \frac{y}{3^k}\right\rfloor when divided by 33 always have the same parity. In other words, the two remainders are either both odd (both equal to 11), or both even (equal to 00 or 22). For example, among the cells with 0x,y<90 \le x, y < 9, the cells containing cows are marked with 1 in the figure below.

        x
    012345678

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

FJ is interested in the number of cows in a certain region of his pasture. He makes QQ queries, each given by three integers xi,yi,dix_i, y_i, d_i. For each query, FJ wants to know how many cows lie on the diagonal cells from (xi,yi)(x_i, y_i) to (xi+di,yi+di)(x_i + d_i, y_i + d_i) (inclusive).

Input Format

The first line contains QQ (1Q1041 \le Q \le 10^4), the number of queries.

Each of the next QQ lines contains three integers did_i, xix_i, and yiy_i (0xi,yi,di10180 \le x_i, y_i, d_i \le 10^{18}).

Output Format

Output QQ lines, one line per query.

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

Hint

Constraints:

  • For an additional 8%8\% of the testdata, for each query di100d_i \le 100.
  • For an additional 32%32\% of the testdata, for each query x+d=3301x + d = 3^{30} - 1 and y=0y = 0.
  • For an additional 52%52\% of the testdata, there are no additional constraints.

Problem by: Benjamin Qi.

Translated by ChatGPT 5