1 for (int c0 = -27 * n + 2; c0 <= 1; c0 += 1) 2 S1(c0 - 1); 3 for (int c0 = 2; c0 <= n + 29; c0 += 1) { 4 if (c0 >= 3) { 5 S4(c0 - c0 / 2 - 1, c0 / 2 + 1); 6 if (c0 <= 4) { 7 S1(c0 - 1); 8 } else if (c0 + 2 >= 2 * n) { 9 for (int c2 = 1; c2 < -n + c0; c2 += 1) 10 S5(-n + c0, n, c2); 11 } else { 12 S4(c0 - c0 / 2 - 2, c0 / 2 + 2); 13 for (int c2 = 1; c2 < c0 - c0 / 2 - 1; c2 += 1) 14 S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2); 15 } 16 for (int c1 = -c0 + c0 / 2 + 3; c1 <= min(-1, n - c0); c1 += 1) { 17 S4(-c1, c0 + c1); 18 S6(-c1 + 2, c0 + c1 - 2); 19 for (int c2 = 1; c2 <= -c1; c2 += 1) 20 S5(-c1 + 1, c0 + c1 - 1, c2); 21 } 22 if (2 * n >= c0 + 3 && c0 >= n + 2) { 23 S6(-n + c0 + 1, n - 1); 24 for (int c2 = 1; c2 < -n + c0; c2 += 1) 25 S5(-n + c0, n, c2); 26 } 27 if (c0 >= n + 3) { 28 S6(-n + c0, n); 29 S1(c0 - 1); 30 } else if (c0 == n + 2) { 31 S1(n + 1); 32 S6(2, n); 33 } else { 34 if (c0 >= 5) { 35 S1(c0 - 1); 36 S6(2, c0 - 2); 37 } 38 S6(1, c0 - 1); 39 } 40 } else { 41 S1(1); 42 } 43 if (c0 % 2 == 0) 44 S3(c0 / 2); 45 for (int c1 = max(1, -n + c0); c1 < (c0 + 1) / 2; c1 += 1) 46 S2(c0 - c1, c1); 47 } 48 for (int c0 = n + 30; c0 <= 2 * n; c0 += 1) { 49 if (2 * n >= c0 + 1) { 50 S4(c0 - c0 / 2 - 1, c0 / 2 + 1); 51 if (c0 + 2 >= 2 * n) { 52 for (int c2 = 1; c2 < -n + c0; c2 += 1) 53 S5(-n + c0, n, c2); 54 } else { 55 S4(c0 - c0 / 2 - 2, c0 / 2 + 2); 56 for (int c2 = 1; c2 < c0 - c0 / 2 - 1; c2 += 1) 57 S5(c0 - c0 / 2 - 1, c0 / 2 + 1, c2); 58 } 59 for (int c1 = -c0 + c0 / 2 + 3; c1 <= n - c0; c1 += 1) { 60 S4(-c1, c0 + c1); 61 S6(-c1 + 2, c0 + c1 - 2); 62 for (int c2 = 1; c2 <= -c1; c2 += 1) 63 S5(-c1 + 1, c0 + c1 - 1, c2); 64 } 65 if (2 * n >= c0 + 3) { 66 S6(-n + c0 + 1, n - 1); 67 for (int c2 = 1; c2 < -n + c0; c2 += 1) 68 S5(-n + c0, n, c2); 69 } 70 S6(-n + c0, n); 71 } 72 if (c0 % 2 == 0) 73 S3(c0 / 2); 74 for (int c1 = -n + c0; c1 < (c0 + 1) / 2; c1 += 1) 75 S2(c0 - c1, c1); 76 } 77