1 for (int c0
= 5; c0
<= 5 * M
; c0
+= 1) {
2 for (int c1
= max(2, floord(-M
+ c0
, 4)); c1
< min(-((5 * M
- c0
+ 1) % 2) + M
, (c0
+ 1) / 3 - 2); c1
+= 1)
3 for (int c2
= max(1, -M
- c1
+ (M
+ c0
) / 2 - 2); c2
< min(c1
, -2 * c1
+ (c0
+ c1
) / 2 - 2); c2
+= 1)
4 S1(c0
- 2 * c1
- 2 * c2
- 5, c1
, c2
);
5 for (int c1
= max(1, floord(-M
+ c0
, 4)); c1
< (c0
+ 1) / 5; c1
+= 1)
6 S2(c0
- 4 * c1
- 3, c1
);
9 for (int c1
= max(-3 * M
- c0
+ 3 * ((M
+ c0
) / 2) + 1, -((c0
- 1) % 3) + 3); c1
< (c0
+ 1) / 5; c1
+= 3)
10 S3((c0
- 2 * c1
- 1) / 3, c1
);