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