1*5971e316Smrg for (int c0 = a1; c0 <= min(min(b1, a3 - 1), a2 - 1); c0 += 1) 2*5971e316Smrg s0(c0); 3*5971e316Smrg for (int c0 = a2; c0 <= min(a3 - 1, b2); c0 += 1) { 4*5971e316Smrg if (c0 >= a1 && b1 >= c0) 5*5971e316Smrg s0(c0); 6*5971e316Smrg s1(c0); 7*5971e316Smrg } 8*5971e316Smrg for (int c0 = max(max(a1, a2), b2 + 1); c0 <= min(b1, a3 - 1); c0 += 1) 9*5971e316Smrg s0(c0); 10*5971e316Smrg for (int c0 = a3; c0 <= b3; c0 += 1) { 11*5971e316Smrg if (c0 >= a1 && b1 >= c0) 12*5971e316Smrg s0(c0); 13*5971e316Smrg if (c0 >= a2 && b2 >= c0) 14*5971e316Smrg s1(c0); 15*5971e316Smrg s2(c0); 16*5971e316Smrg } 17*5971e316Smrg for (int c0 = max(max(a1, a3), b3 + 1); c0 <= min(b1, a2 - 1); c0 += 1) 18*5971e316Smrg s0(c0); 19*5971e316Smrg for (int c0 = max(max(a3, b3 + 1), a2); c0 <= b2; c0 += 1) { 20*5971e316Smrg if (c0 >= a1 && b1 >= c0) 21*5971e316Smrg s0(c0); 22*5971e316Smrg s1(c0); 23*5971e316Smrg } 24*5971e316Smrg for (int c0 = max(max(max(max(a1, a3), b3 + 1), a2), b2 + 1); c0 <= b1; c0 += 1) 25*5971e316Smrg s0(c0); 26