1 if (c2 >= d2 + 1) { 2 for (int c0 = a1; c0 <= b1; c0 += 1) 3 for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1) 4 s0(c0, c1_0); 5 } else { 6 for (int c0 = a1; c0 <= min(b1, a2 - 1); c0 += 1) 7 for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1) 8 s0(c0, c1_0); 9 for (int c0 = a2; c0 <= b2; c0 += 1) { 10 if (a1 >= c0 + 1) { 11 for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1) 12 s1(c0, c1_0); 13 } else if (c0 >= b1 + 1) { 14 for (int c1_0 = c2; c1_0 <= d2; c1_0 += 1) 15 s1(c0, c1_0); 16 } else { 17 for (int c1_0 = c2; c1_0 <= min(c1 - 1, d2); c1_0 += 1) 18 s1(c0, c1_0); 19 for (int c1_0 = c1; c1_0 <= min(d1, c2 - 1); c1_0 += 1) 20 s0(c0, c1_0); 21 for (int c1_0 = max(c1, c2); c1_0 <= min(d1, d2); c1_0 += 1) { 22 s0(c0, c1_0); 23 s1(c0, c1_0); 24 } 25 for (int c1_0 = max(max(c1, d1 + 1), c2); c1_0 <= d2; c1_0 += 1) 26 s1(c0, c1_0); 27 for (int c1_0 = max(c1, d2 + 1); c1_0 <= d1; c1_0 += 1) 28 s0(c0, c1_0); 29 } 30 } 31 for (int c0 = max(max(a1, a2), b2 + 1); c0 <= b1; c0 += 1) 32 for (int c1_0 = c1; c1_0 <= d1; c1_0 += 1) 33 s0(c0, c1_0); 34 } 35