1 if (N >= 1) {
2   S1(0);
3   if (N == 1) {
4     for (int c1 = 0; c1 < M; c1 += 1)
5       S2(0, c1);
6     S3(0);
7     for (int c1 = 0; c1 < M; c1 += 1)
8       S4(0, c1);
9     S10(0);
10     S5(0);
11   } else {
12     for (int c1 = 0; c1 < M; c1 += 1)
13       S2(0, c1);
14     S3(0);
15     for (int c1 = 0; c1 < M; c1 += 1)
16       S4(0, c1);
17     S10(0);
18     S1(1);
19     S5(0);
20   }
21   for (int c0 = 2; c0 < N; c0 += 1) {
22     for (int c1 = c0 - 1; c1 < N; c1 += 1) {
23       S6(c0 - 2, c1);
24       for (int c2 = c0 - 2; c2 < M; c2 += 1)
25         S7(c0 - 2, c1, c2);
26       S8(c0 - 2, c1);
27       for (int c2 = c0 - 2; c2 < M; c2 += 1)
28         S9(c0 - 2, c1, c2);
29     }
30     for (int c1 = c0 - 1; c1 < M; c1 += 1)
31       S2(c0 - 1, c1);
32     S3(c0 - 1);
33     for (int c1 = c0 - 1; c1 < M; c1 += 1)
34       S4(c0 - 1, c1);
35     S10(c0 - 1);
36     S1(c0);
37     S5(c0 - 1);
38   }
39   if (N >= 2) {
40     S6(N - 2, N - 1);
41     for (int c2 = N - 2; c2 < M; c2 += 1)
42       S7(N - 2, N - 1, c2);
43     S8(N - 2, N - 1);
44     for (int c2 = N - 2; c2 < M; c2 += 1)
45       S9(N - 2, N - 1, c2);
46     for (int c1 = N - 1; c1 < M; c1 += 1)
47       S2(N - 1, c1);
48     S3(N - 1);
49     for (int c1 = N - 1; c1 < M; c1 += 1)
50       S4(N - 1, c1);
51     S10(N - 1);
52     S5(N - 1);
53   }
54 }
55