4 S4(0, 1, 2, 2, 1, 1, 2, 2);
5 S3(0, 1, 1, 2, 1, 1, 1, 2);
6 S2(0, 1, 1, 1, 1, 1, 2, 1);
9 for (int c0
= 1; c0
< 2 * m
- 1; c0
+= 1) {
10 if (2 * m
>= c0
+ 3) {
12 S5(m
- 2, 1, m
- 1, 1, m
- 1, 1, m
, 1);
14 S3(m
- 1, 1, m
, 2, m
, 1, m
, 2);
16 S5(c0
- 1, -m
+ c0
+ 2, c0
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 2, m
, -m
+ c0
+ 2);
17 S6(c0
- 1, -m
+ c0
+ 1, c0
, -m
+ c0
+ 2, m
, -m
+ c0
+ 1, m
, -m
+ c0
+ 2);
18 S1(c0
, -m
+ c0
+ 2, m
, -m
+ c0
+ 2);
19 S3(c0
, -m
+ c0
+ 2, c0
+ 1, -m
+ c0
+ 3, m
, -m
+ c0
+ 2, m
, -m
+ c0
+ 3);
21 S5(c0
- 1, 1, c0
, 1, c0
, 1, c0
+ 1, 1);
23 S3(c0
, 1, c0
+ 1, 2, c0
+ 1, 1, c0
+ 1, 2);
24 S4(c0
, 1, c0
+ 2, 2, c0
+ 1, 1, c0
+ 2, 2);
25 S2(c0
, 1, c0
+ 1, 1, c0
+ 1, 1, c0
+ 2, 1);
27 for (int c1
= max(2, -m
+ c0
+ 3); c1
<= min(m
- 1, c0
); c1
+= 1) {
28 S5(c0
- 1, c1
, c0
, c1
, c0
- c1
+ 1, c1
, c0
- c1
+ 2, c1
);
29 S6(c0
- 1, c1
- 1, c0
, c1
, c0
- c1
+ 2, c1
- 1, c0
- c1
+ 2, c1
);
30 S7(c0
- 1, c1
- 1, c0
+ 1, c1
, c0
- c1
+ 2, c1
- 1, c0
- c1
+ 3, c1
);
31 S1(c0
, c1
, c0
- c1
+ 2, c1
);
32 S3(c0
, c1
, c0
+ 1, c1
+ 1, c0
- c1
+ 2, c1
, c0
- c1
+ 2, c1
+ 1);
33 S4(c0
, c1
, c0
+ 2, c1
+ 1, c0
- c1
+ 2, c1
, c0
- c1
+ 3, c1
+ 1);
34 S2(c0
, c1
, c0
+ 1, c1
, c0
- c1
+ 2, c1
, c0
- c1
+ 3, c1
);
37 S6(m
- 2, m
- 1, m
- 1, m
, 1, m
- 1, 1, m
);
38 S7(m
- 2, m
- 1, m
, m
, 1, m
- 1, 2, m
);
40 S2(m
- 1, m
, m
, m
, 1, m
, 2, m
);
42 S5(c0
- 1, m
, c0
, m
, -m
+ c0
+ 1, m
, -m
+ c0
+ 2, m
);
43 S6(c0
- 1, m
- 1, c0
, m
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 2, m
);
44 S7(c0
- 1, m
- 1, c0
+ 1, m
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 3, m
);
45 S1(c0
, m
, -m
+ c0
+ 2, m
);
46 S2(c0
, m
, c0
+ 1, m
, -m
+ c0
+ 2, m
, -m
+ c0
+ 3, m
);
48 S6(c0
- 1, c0
, c0
, c0
+ 1, 1, c0
, 1, c0
+ 1);
49 S7(c0
- 1, c0
, c0
+ 1, c0
+ 1, 1, c0
, 2, c0
+ 1);
50 S1(c0
, c0
+ 1, 1, c0
+ 1);
51 S3(c0
, c0
+ 1, c0
+ 1, c0
+ 2, 1, c0
+ 1, 1, c0
+ 2);
52 S4(c0
, c0
+ 1, c0
+ 2, c0
+ 2, 1, c0
+ 1, 2, c0
+ 2);
53 S2(c0
, c0
+ 1, c0
+ 1, c0
+ 1, 1, c0
+ 1, 2, c0
+ 1);
56 S5(2 * m
- 3, m
, 2 * m
- 2, m
, m
- 1, m
, m
, m
);
57 S6(2 * m
- 3, m
- 1, 2 * m
- 2, m
, m
, m
- 1, m
, m
);
58 S1(2 * m
- 2, m
, m
, m
);
60 for (int c2
= max(1, -m
+ c0
+ 2); c2
<= min(m
, c0
+ 1); c2
+= 1)