1*5971e316Smrg if (N >= 1) { 2*5971e316Smrg S1(0); 3*5971e316Smrg if (N == 1) { 4*5971e316Smrg for (int c1 = 0; c1 < M; c1 += 1) 5*5971e316Smrg S2(0, c1); 6*5971e316Smrg S3(0); 7*5971e316Smrg for (int c1 = 0; c1 < M; c1 += 1) 8*5971e316Smrg S4(0, c1); 9*5971e316Smrg S10(0); 10*5971e316Smrg S5(0); 11*5971e316Smrg } else { 12*5971e316Smrg for (int c1 = 0; c1 < M; c1 += 1) 13*5971e316Smrg S2(0, c1); 14*5971e316Smrg S3(0); 15*5971e316Smrg for (int c1 = 0; c1 < M; c1 += 1) 16*5971e316Smrg S4(0, c1); 17*5971e316Smrg S10(0); 18*5971e316Smrg S1(1); 19*5971e316Smrg S5(0); 20*5971e316Smrg } 21*5971e316Smrg for (int c0 = 2; c0 < N; c0 += 1) { 22*5971e316Smrg for (int c1 = c0 - 1; c1 < N; c1 += 1) { 23*5971e316Smrg S6(c0 - 2, c1); 24*5971e316Smrg for (int c2 = c0 - 2; c2 < M; c2 += 1) 25*5971e316Smrg S7(c0 - 2, c1, c2); 26*5971e316Smrg S8(c0 - 2, c1); 27*5971e316Smrg for (int c2 = c0 - 2; c2 < M; c2 += 1) 28*5971e316Smrg S9(c0 - 2, c1, c2); 29*5971e316Smrg } 30*5971e316Smrg for (int c1 = c0 - 1; c1 < M; c1 += 1) 31*5971e316Smrg S2(c0 - 1, c1); 32*5971e316Smrg S3(c0 - 1); 33*5971e316Smrg for (int c1 = c0 - 1; c1 < M; c1 += 1) 34*5971e316Smrg S4(c0 - 1, c1); 35*5971e316Smrg S10(c0 - 1); 36*5971e316Smrg S1(c0); 37*5971e316Smrg S5(c0 - 1); 38*5971e316Smrg } 39*5971e316Smrg if (N >= 2) { 40*5971e316Smrg S6(N - 2, N - 1); 41*5971e316Smrg for (int c2 = N - 2; c2 < M; c2 += 1) 42*5971e316Smrg S7(N - 2, N - 1, c2); 43*5971e316Smrg S8(N - 2, N - 1); 44*5971e316Smrg for (int c2 = N - 2; c2 < M; c2 += 1) 45*5971e316Smrg S9(N - 2, N - 1, c2); 46*5971e316Smrg for (int c1 = N - 1; c1 < M; c1 += 1) 47*5971e316Smrg S2(N - 1, c1); 48*5971e316Smrg S3(N - 1); 49*5971e316Smrg for (int c1 = N - 1; c1 < M; c1 += 1) 50*5971e316Smrg S4(N - 1, c1); 51*5971e316Smrg S10(N - 1); 52*5971e316Smrg S5(N - 1); 53*5971e316Smrg } 54*5971e316Smrg } 55