1*5971e316Smrg for (int c0 = 1; c0 <= 2; c0 += 1) 2*5971e316Smrg for (int c1 = 1; c1 <= M; c1 += 1) 3*5971e316Smrg S1(c0, c1); 4*5971e316Smrg for (int c0 = 3; c0 <= N; c0 += 1) { 5*5971e316Smrg for (int c1 = 1; c1 <= min(M, c0 - 1); c1 += 1) 6*5971e316Smrg S1(c0, c1); 7*5971e316Smrg if (M >= c0) { 8*5971e316Smrg S1(c0, c0); 9*5971e316Smrg S2(c0, c0); 10*5971e316Smrg } 11*5971e316Smrg for (int c1 = c0 + 1; c1 <= M; c1 += 1) 12*5971e316Smrg S1(c0, c1); 13*5971e316Smrg if (c0 >= M + 1) 14*5971e316Smrg S2(c0, c0); 15*5971e316Smrg } 16