7 S4(0, 1, 2, 2, 1, 1, 2, 2);
8 S3(0, 1, 1, 2, 1, 1, 1, 2);
9 S2(0, 1, 1, 1, 1, 1, 2, 1);
12 for (int c0
= 1; c0
< 2 * m
- 3; c0
+= 1) {
14 S5(m
- 2, 1, m
- 1, 1, m
- 1, 1, m
, 1);
16 S3(m
- 1, 1, m
, 2, m
, 1, m
, 2);
17 } else if (m
>= c0
+ 2) {
18 S5(c0
- 1, 1, c0
, 1, c0
, 1, c0
+ 1, 1);
20 S4(c0
, 1, c0
+ 2, 2, c0
+ 1, 1, c0
+ 2, 2);
21 S3(c0
, 1, c0
+ 1, 2, c0
+ 1, 1, c0
+ 1, 2);
22 S2(c0
, 1, c0
+ 1, 1, c0
+ 1, 1, c0
+ 2, 1);
24 S5(c0
- 1, -m
+ c0
+ 2, c0
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 2, m
, -m
+ c0
+ 2);
25 S6(c0
- 1, -m
+ c0
+ 1, c0
, -m
+ c0
+ 2, m
, -m
+ c0
+ 1, m
, -m
+ c0
+ 2);
26 S1(c0
, -m
+ c0
+ 2, m
, -m
+ c0
+ 2);
27 S3(c0
, -m
+ c0
+ 2, c0
+ 1, -m
+ c0
+ 3, m
, -m
+ c0
+ 2, m
, -m
+ c0
+ 3);
29 for (int c2
= max(-m
+ c0
+ 3, 2); c2
<= min(c0
, m
- 1); c2
+= 1) {
30 S5(c0
- 1, c2
, c0
, c2
, c0
- c2
+ 1, c2
, c0
- c2
+ 2, c2
);
31 S7(c0
- 1, c2
- 1, c0
+ 1, c2
, c0
- c2
+ 2, c2
- 1, c0
- c2
+ 3, c2
);
32 S6(c0
- 1, c2
- 1, c0
, c2
, c0
- c2
+ 2, c2
- 1, c0
- c2
+ 2, c2
);
33 S1(c0
, c2
, c0
- c2
+ 2, c2
);
34 S3(c0
, c2
, c0
+ 1, c2
+ 1, c0
- c2
+ 2, c2
, c0
- c2
+ 2, c2
+ 1);
35 S2(c0
, c2
, c0
+ 1, c2
, c0
- c2
+ 2, c2
, c0
- c2
+ 3, c2
);
36 S4(c0
, c2
, c0
+ 2, c2
+ 1, c0
- c2
+ 2, c2
, c0
- c2
+ 3, c2
+ 1);
39 S6(m
- 2, m
- 1, m
- 1, m
, 1, m
- 1, 1, m
);
40 S7(m
- 2, m
- 1, m
, m
, 1, m
- 1, 2, m
);
42 S2(m
- 1, m
, m
, m
, 1, m
, 2, m
);
44 S5(c0
- 1, m
, c0
, m
, -m
+ c0
+ 1, m
, -m
+ c0
+ 2, m
);
45 S6(c0
- 1, m
- 1, c0
, m
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 2, m
);
46 S7(c0
- 1, m
- 1, c0
+ 1, m
, -m
+ c0
+ 2, m
- 1, -m
+ c0
+ 3, m
);
47 S1(c0
, m
, -m
+ c0
+ 2, m
);
48 S2(c0
, m
, c0
+ 1, m
, -m
+ c0
+ 2, m
, -m
+ c0
+ 3, m
);
50 S7(c0
- 1, c0
, c0
+ 1, c0
+ 1, 1, c0
, 2, c0
+ 1);
51 S6(c0
- 1, c0
, c0
, c0
+ 1, 1, c0
, 1, c0
+ 1);
52 S1(c0
, c0
+ 1, 1, c0
+ 1);
53 S3(c0
, c0
+ 1, c0
+ 1, c0
+ 2, 1, c0
+ 1, 1, c0
+ 2);
54 S2(c0
, c0
+ 1, c0
+ 1, c0
+ 1, 1, c0
+ 1, 2, c0
+ 1);
55 S4(c0
, c0
+ 1, c0
+ 2, c0
+ 2, 1, c0
+ 1, 2, c0
+ 2);
57 for (int c8
= max(-m
+ c0
+ 2, 1); c8
<= min(c0
+ 1, m
); c8
+= 1)
62 S5(2 * m
- 4, m
- 1, 2 * m
- 3, m
- 1, m
- 1, m
- 1, m
, m
- 1);
63 S6(2 * m
- 4, m
- 2, 2 * m
- 3, m
- 1, m
, m
- 2, m
, m
- 1);
64 S1(2 * m
- 3, m
- 1, m
, m
- 1);
65 S3(2 * m
- 3, m
- 1, 2 * m
- 2, m
, m
, m
- 1, m
, m
);
66 S5(2 * m
- 4, m
, 2 * m
- 3, m
, m
- 2, m
, m
- 1, m
);
67 S6(2 * m
- 4, m
- 1, 2 * m
- 3, m
, m
- 1, m
- 1, m
- 1, m
);
68 S7(2 * m
- 4, m
- 1, 2 * m
- 2, m
, m
- 1, m
- 1, m
, m
);
69 S1(2 * m
- 3, m
, m
- 1, m
);
71 S5(0, 1, 1, 1, 1, 1, 2, 1);
73 S3(1, 1, 2, 2, 2, 1, 2, 2);
74 S6(0, 1, 1, 2, 1, 1, 1, 2);
75 S7(0, 1, 2, 2, 1, 1, 2, 2);
78 S2(2 * m
- 3, m
, 2 * m
- 2, m
, m
- 1, m
, m
, m
);
79 for (int c8
= m
- 1; c8
<= m
; c8
+= 1)
81 S5(2 * m
- 3, m
, 2 * m
- 2, m
, m
- 1, m
, m
, m
);
82 S6(2 * m
- 3, m
- 1, 2 * m
- 2, m
, m
, m
- 1, m
, m
);
83 S1(2 * m
- 2, m
, m
, m
);