1{ 2 for (int c1 = 1; c1 <= M; c1 += 1) { 3 S1(c1); 4 for (int c2 = c1 + 1; c2 <= M; c2 += 1) 5 S4(c1, c2); 6 } 7 for (int c0 = 1; c0 < 3 * M - 1; c0 += 3) { 8 S3((c0 + 2) / 3); 9 if (3 * M >= c0 + 8) { 10 for (int c1 = (c0 + 5) / 3; c1 <= M; c1 += 1) { 11 S6((c0 + 2) / 3, c1); 12 for (int c4 = (c0 + 5) / 3; c4 < c1; c4 += 1) 13 S5(c4, c1, (c0 + 2) / 3); 14 } 15 } else if (c0 + 5 == 3 * M) 16 S6(M - 1, M); 17 for (int c1 = (c0 + 5) / 3; c1 <= M; c1 += 1) 18 S2(c1, (c0 + 2) / 3); 19 } 20} 21