1 for (int c0 = 1; c0 < 2 * M - 1; c0 += 1) { 2 for (int c1 = max(-M + 1, -c0 + 1); c1 < 0; c1 += 1) { 3 for (int c3 = max(1, -M + c0 + 1); c3 <= min(M - 1, c0 + c1); c3 += 1) 4 S1(c3, c0 + c1 - c3, -c1); 5 for (int c2 = max(-M + c0 + 1, -c1); c2 < min(M, c0); c2 += 1) 6 S2(c0 - c2, c1 + c2, c2); 7 } 8 for (int c3 = max(1, -M + c0 + 1); c3 <= min(M - 1, c0); c3 += 1) 9 S1(c3, c0 - c3, 0); 10 } 11