PivotOJ

Farmer John's Cheese Block

시간 제한: 2000ms메모리 제한: 2048MB출처: USACO 2024 December BronzeBOJ 33063

문제

Farmer John has a block of cheese in the shape of a cube. It lies on the 3-dimensional coordinate plane, extending from (0,0,0)(0,0,0) to (N,N,N)(N, N, N) (2N10002 \leq N \leq 1000). Farmer John will perform a series of QQ (1Q21051 \leq Q \leq 2 \cdot 10^5) update operations to his cheese block.

For each update operation, FJ will carve out the 11 by 11 by 11 block of cheese extending from integer coordinates (x,y,z)(x, y, z) to (x+1,y+1,z+1)(x+1, y+1, z+1), where 0x,y,z<N0\le x,y,z<N. It is guaranteed that there will exist a 11 by 11 by 11 block of cheese at the location FJ carves. Since FJ is playing Moocraft, gravity does not cause parts of the cheese to fall if cheese below is carved.

After each update, output the number of distinct configurations that FJ can stick a 11 by 11 by NN brick in the cheese block such that no part of the brick overlaps with any remaining cheese. Every vertex of the brick must have integer coordinates in the range [0,N][0,N] for all three axes. FJ may rotate the brick however he wants.

입력

The first line contains NN and QQ.

The following QQ lines contain xx, yy, and zz, the coordinates to be carved.

출력

After each update operation, output an integer, the number of configurations.

힌트

After the first three updates, the 1×2×11\times 2 \times 1 brick spanning [0,1]×[0,2]×[0,1][0, 1]\times [0, 2]\times [0, 1] does not overlap with the remaining cheese, so it contributes toward the answer.

예제

예제 1

입력
2 5
0 0 0
1 1 1
0 1 0
1 0 0
1 1 0
출력
0
0
1
2
5
코드를 제출하려면 로그인하세요.