2 for (int c1
= -4; c1
<= 3 * M
+ N
; c1
+= 1) {
5 } else if (3 * floord(c1
- 2, 3) + 2 == c1
&& c1
+ 1 >= 0 && 3 * M
>= c1
+ 4)
7 for (int c3
= max(c1
- 3 * floord(c1
, 3), -3 * M
+ c1
+ 3); c3
<= min(c1
, N
- 1); c3
+= 3) {
9 S1((c1
- c3
+ 3) / 3, c3
+ 1);
11 if (N
+ 3 * floord(-N
+ c1
, 3) == c1
&& c1
>= N
&& 3 * M
+ N
>= c1
+ 3) {
13 } else if (N
>= c1
+ 4)
15 for (int c3
= max(-3 * M
+ c1
, c1
- 3 * floord(c1
, 3)); c3
<= min(N
, c1
); c3
+= 3)
16 S3((c1
- c3
) / 3, c3
);