2
2
for (int c1 = -4; c1 <= 3 * M + N; c1 += 1) {
7
for (int c3 = max(c1 + 3 * floord(-c1 - 1, 3) + 3, -3 * M + c1 + 3); c3 <= min(c1, N - 1); c3 += 3) {
7
for (int c3 = max(-3 * M + c1 + 3, c1 + 3 * floord(-c1 - 1, 3) + 3); c3 <= min(N - 1, c1); c3 += 3) {
9
9
S1((c1 - c3 + 3) / 3, c3 + 1);