1for (int c1 = 1; c1 <= M; c1 += 1)
2  for (int c3 = 2; c3 <= M + c1; c3 += 1)
3    for (int c5 = max(-c1 + c3, 1); c5 <= min(M, c3 - 1); c5 += 1)
4      S1(c1, c5, c3 - c5);
5