1 for (int c0 = 0; c0 <= M; c0 += 1) {
2   for (int c1 = 0; c1 <= min(N, c0); c1 += 1) {
3     S1(c0, c1);
4     S2(c0, c1);
5   }
6   for (int c1 = N + 1; c1 <= c0; c1 += 1)
7     S1(c0, c1);
8 }
9