1 for (int c0
= 0; c0
< 2 * m
- 1; c0
+= 1) {
2 if (2 * m
>= c0
+ 3 && c0
>= 1) {
4 S5(m
- 2, 1, m
- 1, 1, m
- 1, 1, m
, 1);
6 S3(m
- 1, 1, m
, 2, m
, 1, m
, 2);
8 S5(c0
- 1, -m
+ c0
+ 2, c0
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 2, m
, -m
+ c0
+ 2);
9 S6(c0
- 1, -m
+ c0
+ 1, c0
, -m
+ c0
+ 2, m
, -m
+ c0
+ 1, m
, -m
+ c0
+ 2);
10 S1(c0
, -m
+ c0
+ 2, m
, -m
+ c0
+ 2);
11 S3(c0
, -m
+ c0
+ 2, c0
+ 1, -m
+ c0
+ 3, m
, -m
+ c0
+ 2, m
, -m
+ c0
+ 3);
13 S5(c0
- 1, 1, c0
, 1, c0
, 1, c0
+ 1, 1);
15 S3(c0
, 1, c0
+ 1, 2, c0
+ 1, 1, c0
+ 1, 2);
16 S4(c0
, 1, c0
+ 2, 2, c0
+ 1, 1, c0
+ 2, 2);
17 S2(c0
, 1, c0
+ 1, 1, c0
+ 1, 1, c0
+ 2, 1);
19 for (int c2
= max(2, -m
+ c0
+ 3); c2
<= min(m
- 1, c0
); c2
+= 1) {
20 S5(c0
- 1, c2
, c0
, c2
, c0
- c2
+ 1, c2
, c0
- c2
+ 2, c2
);
21 S7(c0
- 1, c2
- 1, c0
+ 1, c2
, c0
- c2
+ 2, c2
- 1, c0
- c2
+ 3, c2
);
22 S6(c0
- 1, c2
- 1, c0
, c2
, c0
- c2
+ 2, c2
- 1, c0
- c2
+ 2, c2
);
23 S1(c0
, c2
, c0
- c2
+ 2, c2
);
24 S3(c0
, c2
, c0
+ 1, c2
+ 1, c0
- c2
+ 2, c2
, c0
- c2
+ 2, c2
+ 1);
25 S4(c0
, c2
, c0
+ 2, c2
+ 1, c0
- c2
+ 2, c2
, c0
- c2
+ 3, c2
+ 1);
26 S2(c0
, c2
, c0
+ 1, c2
, c0
- c2
+ 2, c2
, c0
- c2
+ 3, c2
);
29 S7(m
- 2, m
- 1, m
, m
, 1, m
- 1, 2, m
);
30 S6(m
- 2, m
- 1, m
- 1, m
, 1, m
- 1, 1, m
);
32 S2(m
- 1, m
, m
, m
, 1, m
, 2, m
);
34 S5(c0
- 1, m
, c0
, m
, -m
+ c0
+ 1, m
, -m
+ c0
+ 2, m
);
35 S7(c0
- 1, m
- 1, c0
+ 1, m
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 3, m
);
36 S6(c0
- 1, m
- 1, c0
, m
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 2, m
);
37 S1(c0
, m
, -m
+ c0
+ 2, m
);
38 S2(c0
, m
, c0
+ 1, m
, -m
+ c0
+ 2, m
, -m
+ c0
+ 3, m
);
40 S7(c0
- 1, c0
, c0
+ 1, c0
+ 1, 1, c0
, 2, c0
+ 1);
41 S6(c0
- 1, c0
, c0
, c0
+ 1, 1, c0
, 1, c0
+ 1);
42 S1(c0
, c0
+ 1, 1, c0
+ 1);
43 S3(c0
, c0
+ 1, c0
+ 1, c0
+ 2, 1, c0
+ 1, 1, c0
+ 2);
44 S4(c0
, c0
+ 1, c0
+ 2, c0
+ 2, 1, c0
+ 1, 2, c0
+ 2);
45 S2(c0
, c0
+ 1, c0
+ 1, c0
+ 1, 1, c0
+ 1, 2, c0
+ 1);
47 } else if (m
>= 2 && c0
== 0) {
49 S3(0, 1, 1, 2, 1, 1, 1, 2);
50 S4(0, 1, 2, 2, 1, 1, 2, 2);
51 S2(0, 1, 1, 1, 1, 1, 2, 1);
53 S5(2 * m
- 3, m
, 2 * m
- 2, m
, m
- 1, m
, m
, m
);
54 S6(2 * m
- 3, m
- 1, 2 * m
- 2, m
, m
, m
- 1, m
, m
);
55 S1(2 * m
- 2, m
, m
, m
);
58 for (int c8
= max(1, -m
+ c0
+ 2); c8
<= min(m
, c0
+ 1); c8
+= 1)