1 S1(0, 0); 2 for (int c0 = 1; c0 <= N; c0 += 1) { 3 S2(c0, 0); 4 for (int c1 = 1; c1 < c0; c1 += 1) 5 S6(c0, c1); 6 S3(c0, c0); 7 } 8 S7(N + 1, 0); 9 for (int c1 = 1; c1 <= N; c1 += 1) { 10 S6(N + 1, c1); 11 S8(N + 1, c1); 12 } 13 for (int c0 = N + 2; c0 < 2 * M - N - 1; c0 += 1) { 14 S7(c0, -N + (N + c0 + 1) / 2 - 1); 15 if ((N + c0) % 2 == 0) { 16 S5(c0, (-N + c0) / 2); 17 S8(c0, (-N + c0) / 2); 18 } 19 for (int c1 = -N + (N + c0) / 2 + 1; c1 < (N + c0 + 1) / 2; c1 += 1) { 20 S6(c0, c1); 21 S8(c0, c1); 22 } 23 if ((N + c0) % 2 == 0) { 24 S4(c0, (N + c0) / 2); 25 S8(c0, (N + c0) / 2); 26 } 27 } 28 for (int c0 = 2 * M - N - 1; c0 < 2 * M - 1; c0 += 1) 29 for (int c1 = -M + c0 + 1; c1 < M; c1 += 1) 30 S6(c0, c1); 31