1*5971e316Smrg for (int c1 = 0; c1 <= 1; c1 += 1) { 2*5971e316Smrg if (c1 == 1) { 3*5971e316Smrg s0(1, 1, 1, 0, 0); 4*5971e316Smrg s0(1, 1, 1, N - 1, 0); 5*5971e316Smrg } else { 6*5971e316Smrg for (int c3 = 0; c3 < N; c3 += 1) 7*5971e316Smrg s0(1, 0, 1, c3, 0); 8*5971e316Smrg } 9*5971e316Smrg } 10*5971e316Smrg for (int c1 = 0; c1 <= floord(T - 1, 1000); c1 += 1) 11*5971e316Smrg for (int c2 = 1000 * c1 + 1; c2 <= min(N + T - 3, N + 1000 * c1 + 997); c2 += 1) 12*5971e316Smrg for (int c3 = max(0, -N - 1000 * c1 + c2 + 2); c3 <= min(min(999, T - 1000 * c1 - 1), -1000 * c1 + c2 - 1); c3 += 1) 13*5971e316Smrg s1(2, 1000 * c1 + c3, 1, -1000 * c1 + c2 - c3, 1); 14