Branch Coverage

congruent_numbers.c
Criterion Covered Total %
branch 847 1196 70.8


line true false branch
26 651 6 if (nf->n > 3) {
28 1606 493 for (i = 0; i < nf->nfactors; i++)
29 158 1448 if (nf->e[i] > 1)
31 158 493 if (i < nf->nfactors) {
33 316 158 for (i = 0, j = 0; i < nf->nfactors; i++)
34 187 129 if (nf->e[i] & 1) {
57 0 0 if (iseven) { nf.f[0] = 2; nf.e[0] = NF.e[0]; }
60 0 0 for (i = 0; i < noddfac; i++) {
86 107 54 if (n&1) {
87 1093 107 for (z = 0, limz = isqrt(n/8); z <= limz; z++) {
90 396173 1093 for (y = 0, limy = isqrt(n8z/2); y <= limy; y++) {
92 1209 394964 if (is_perfect_square(x))
93 1184 25 zsols += 1 << (1+(y>0)+(z>0));
98 189 54 for (z = 0, limz = isqrt((n/2)/8); z <= limz; z++) {
101 2392 189 for (x = 1, limx = isqrt(n8z); x <= limx; x += 2) {
103 2375 17 if (y == 0 || is_perfect_square(y))
69 2306 if (y == 0 || is_perfect_square(y))
104 69 17 zsols += 1 << (1+(y>0)+(z>0));
135 20 29 return KPQ==-1 || KQP == -1;
20 0 return KPQ==-1 || KQP == -1;
138 24 4 return (KPR==-1 && KQR==-1 && _can_order_kronecker2(p,q)) ||
0 24 return (KPR==-1 && KQR==-1 && _can_order_kronecker2(p,q)) ||
139 28 21 (KPQ==-1 && KRQ==-1 && _can_order_kronecker2(p,r)) ||
13 12 (KPQ==-1 && KRQ==-1 && _can_order_kronecker2(p,r)) ||
13 0 (KPQ==-1 && KRQ==-1 && _can_order_kronecker2(p,r)) ||
0 13 (KPQ==-1 && KRQ==-1 && _can_order_kronecker2(p,r)) ||
140 12 0 (KQP==-1 && KRP==-1 && _can_order_kronecker2(q,r));
12 0 (KQP==-1 && KRP==-1 && _can_order_kronecker2(q,r));
12 0 (KQP==-1 && KRP==-1 && _can_order_kronecker2(q,r));
143 17 6 return (KPS==-1 && KQS==-1 && KRS==-1 && _can_order_kronecker3(p,q,r)) ||
17 0 return (KPS==-1 && KQS==-1 && KRS==-1 && _can_order_kronecker3(p,q,r)) ||
0 17 return (KPS==-1 && KQS==-1 && KRS==-1 && _can_order_kronecker3(p,q,r)) ||
144 6 19 (KPR==-1 && KQR==-1 && KSR==-1 && _can_order_kronecker3(p,q,s)) ||
6 0 (KPR==-1 && KQR==-1 && KSR==-1 && _can_order_kronecker3(p,q,s)) ||
0 6 (KPR==-1 && KQR==-1 && KSR==-1 && _can_order_kronecker3(p,q,s)) ||
0 0 (KPR==-1 && KQR==-1 && KSR==-1 && _can_order_kronecker3(p,q,s)) ||
145 23 19 (KPQ==-1 && KRQ==-1 && KSQ==-1 && _can_order_kronecker3(p,r,s)) ||
6 19 (KPQ==-1 && KRQ==-1 && KSQ==-1 && _can_order_kronecker3(p,r,s)) ||
0 6 (KPQ==-1 && KRQ==-1 && KSQ==-1 && _can_order_kronecker3(p,r,s)) ||
0 0 (KPQ==-1 && KRQ==-1 && KSQ==-1 && _can_order_kronecker3(p,r,s)) ||
0 0 (KPQ==-1 && KRQ==-1 && KSQ==-1 && _can_order_kronecker3(p,r,s)) ||
146 19 6 (KQP==-1 && KRP==-1 && KSP==-1 && _can_order_kronecker3(q,r,s));
19 0 (KQP==-1 && KRP==-1 && KSP==-1 && _can_order_kronecker3(q,r,s));
13 6 (KQP==-1 && KRP==-1 && KSP==-1 && _can_order_kronecker3(q,r,s));
13 0 (KQP==-1 && KRP==-1 && KSP==-1 && _can_order_kronecker3(q,r,s));
151 0 12 if (nfac <= 1) return TRUE;
152 0 12 if (nfac == 2) return _can_order_kronecker2(fac[0],fac[1]);
153 48 12 for (i = 0; i < nfac; i++) {
155 72 0 for (j = 0; j < nfac-1; j++)
156 48 24 if (kronecker_uu(fac[j],fac[nfac-1]) != -1)
158 0 48 if (j == nfac-1 && _can_orderk_r(nfac-1, fac))
0 0 if (j == nfac-1 && _can_orderk_r(nfac-1, fac))
166 0 12 if (nfac > MPU_MAX_DFACTORS) return FALSE;
182 0 401 MPUassert(n >= 13, "n too small in icn_filter");
188 374 27 if (n % 8 == 5 || n % 8 == 6 || n % 8 == 7) return 1;
346 28 if (n % 8 == 5 || n % 8 == 6 || n % 8 == 7) return 1;
28 318 if (n % 8 == 5 || n % 8 == 6 || n % 8 == 7) return 1;
191 22 296 if (nf.nfactors-iseven > 4) return -1;
195 154 837 for (i=0; i
991 296 for (i=0; i
196 370 621 for (i=0; i
991 296 for (i=0; i
197 221 770 for (i=0; i
991 296 for (i=0; i
198 99 892 for (i=0; i
991 296 for (i=0; i
201 248 48 q = (nfac > 1) ? fac[1] : 0;
202 187 109 r = (nfac > 2) ? fac[2] : 0;
203 113 183 s = (nfac > 3) ? fac[3] : 0;
212 149 147 if (isodd && nfac == 1) { /* n = p */
32 117 if (isodd && nfac == 1) { /* n = p */
215 17 15 if (p8 == 3) return 0; /* Genocchi 1855 */
218 15 0 if (sqrtmodp(&root, 2, p) && kronecker_uu(1+root, p) == -1)
11 4 if (sqrtmodp(&root, 2, p) && kronecker_uu(1+root, p) == -1)
234 147 117 } else if (iseven && nfac == 1) { /* n = 2p */
16 131 } else if (iseven && nfac == 1) { /* n = 2p */
236 16 0 if (p8 == 3 || p8 == 7) return 1; /* we already returned 1 earlier */
0 16 if (p8 == 3 || p8 == 7) return 1; /* we already returned 1 earlier */
237 9 7 if (p8 == 5) return 0; /* Genocchi 1855 */
238 4 3 if (p % 16 == 9) return 0; /* Bastien 1915 */
240 117 131 } else if (isodd && nfac == 2) { /* n = pq */
28 89 } else if (isodd && nfac == 2) { /* n = pq */
242 8 20 if (p8 == 3 && q8 == 3) return 0; /* Genocchi 1855 */
8 0 if (p8 == 3 && q8 == 3) return 0; /* Genocchi 1855 */
250 6 14 if (p8 == 1 && q8 == 3 && KPQ == -1) return 0;
6 0 if (p8 == 1 && q8 == 3 && KPQ == -1) return 0;
6 0 if (p8 == 1 && q8 == 3 && KPQ == -1) return 0;
251 13 1 if (p8 == 5 && q8 == 7 && KPQ == -1) return 0;
8 5 if (p8 == 5 && q8 == 7 && KPQ == -1) return 0;
7 1 if (p8 == 5 && q8 == 7 && KPQ == -1) return 0;
253 131 89 } else if (iseven && nfac == 2) { /* n = 2pq */
33 98 } else if (iseven && nfac == 2) { /* n = 2pq */
255 4 29 if (p8 == 5 && q8 == 5) return 0; /* Genocchi 1855 */
4 0 if (p8 == 5 && q8 == 5) return 0; /* Genocchi 1855 */
263 14 15 if (p8 == 3 && q8 == 3) return 0;
6 8 if (p8 == 3 && q8 == 3) return 0;
264 8 15 if (p8 == 1 && q8 == 5 && KPQ == -1) return 0;
4 4 if (p8 == 1 && q8 == 5 && KPQ == -1) return 0;
4 0 if (p8 == 1 && q8 == 5 && KPQ == -1) return 0;
265 8 11 if (p8 == 3 && q8 == 7 && KPQ == -1) return 0;
8 0 if (p8 == 3 && q8 == 7 && KPQ == -1) return 0;
6 2 if (p8 == 3 && q8 == 7 && KPQ == -1) return 0;
266 7 6 if (p8 == 7 && q8 == 7 && KPQ == 1 && q % 16 == 7) return 0;
7 0 if (p8 == 7 && q8 == 7 && KPQ == 1 && q % 16 == 7) return 0;
7 0 if (p8 == 7 && q8 == 7 && KPQ == 1 && q % 16 == 7) return 0;
7 0 if (p8 == 7 && q8 == 7 && KPQ == 1 && q % 16 == 7) return 0;
267 4 2 if (p8 == 1 && q8 == 1 && KPQ == -1 && (p*q) % 16 == 9) return 0;
4 0 if (p8 == 1 && q8 == 1 && KPQ == -1 && (p*q) % 16 == 9) return 0;
4 0 if (p8 == 1 && q8 == 1 && KPQ == -1 && (p*q) % 16 == 9) return 0;
4 0 if (p8 == 1 && q8 == 1 && KPQ == -1 && (p*q) % 16 == 9) return 0;
269 89 98 } else if (isodd && nfac == 3) { /* n = pqr */
38 51 } else if (isodd && nfac == 3) { /* n = pqr */
277 19 19 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
3 16 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
3 0 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
3 0 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
278 19 16 if (p8 == 3 && q8 == 5 && r8 == 7 && KQR == -1) return 0;
10 9 if (p8 == 3 && q8 == 5 && r8 == 7 && KQR == -1) return 0;
4 6 if (p8 == 3 && q8 == 5 && r8 == 7 && KQR == -1) return 0;
4 0 if (p8 == 3 && q8 == 5 && r8 == 7 && KQR == -1) return 0;
279 15 16 if (p8 == 3 && q8 == 7 && r8 == 7 && KPQ == -KPR && KPQ == KQR) return 0;
4 11 if (p8 == 3 && q8 == 7 && r8 == 7 && KPQ == -KPR && KPQ == KQR) return 0;
4 0 if (p8 == 3 && q8 == 7 && r8 == 7 && KPQ == -KPR && KPQ == KQR) return 0;
4 0 if (p8 == 3 && q8 == 7 && r8 == 7 && KPQ == -KPR && KPQ == KQR) return 0;
4 0 if (p8 == 3 && q8 == 7 && r8 == 7 && KPQ == -KPR && KPQ == KQR) return 0;
280 16 11 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
12 4 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
9 3 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
8 1 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
1 7 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
2 0 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
1 1 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
1 0 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
1 0 if (p8 == 1 && q8 == 1 && r8 == 3 && LAGRANGE_COND3) return 0;
281 7 11 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
4 3 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
4 0 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
2 2 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
0 2 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
2 0 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
2 0 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
2 0 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
2 0 if (p8 == 1 && q8 == 5 && r8 == 7 && LAGRANGE_COND3) return 0;
282 11 3 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
6 5 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
6 0 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
5 1 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
3 2 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
4 0 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
1 3 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
1 0 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
1 0 if (p8 == 3 && q8 == 5 && r8 == 5 && LAGRANGE_COND3) return 0;
283 5 3 if (p8 == 3 && q8 == 3 && r8 == 3 && LAGRANGE_COND1) return 0;
5 0 if (p8 == 3 && q8 == 3 && r8 == 3 && LAGRANGE_COND1) return 0;
5 0 if (p8 == 3 && q8 == 3 && r8 == 3 && LAGRANGE_COND1) return 0;
2 3 if (p8 == 3 && q8 == 3 && r8 == 3 && LAGRANGE_COND1) return 0;
0 2 if (p8 == 3 && q8 == 3 && r8 == 3 && LAGRANGE_COND1) return 0;
0 0 if (p8 == 3 && q8 == 3 && r8 == 3 && LAGRANGE_COND1) return 0;
284 3 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
3 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
3 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
3 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
1 2 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
1 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
0 1 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
0 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
0 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3) {
286 3 0 if (cornacchia(&c, &d, 8, n) && d&1)
3 0 if (cornacchia(&c, &d, 8, n) && d&1)
290 98 51 } else if (iseven && nfac == 3) { /* n = 2pqr */
36 62 } else if (iseven && nfac == 3) { /* n = 2pqr */
299 16 20 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
4 12 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
4 0 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
3 1 if (p8 == 1 && q8 == 3 && r8 == 3 && KPQ == -KPR) return 0;
300 13 20 if (p8 == 1 && q8 == 5 && r8 == 5 && KPQ == -KPR) return 0;
3 10 if (p8 == 1 && q8 == 5 && r8 == 5 && KPQ == -KPR) return 0;
3 0 if (p8 == 1 && q8 == 5 && r8 == 5 && KPQ == -KPR) return 0;
3 0 if (p8 == 1 && q8 == 5 && r8 == 5 && KPQ == -KPR) return 0;
301 11 19 if (p8 == 3 && q8 == 5 && r8 == 7 && KRP == KRQ) return 0;
4 7 if (p8 == 3 && q8 == 5 && r8 == 7 && KRP == KRQ) return 0;
4 0 if (p8 == 3 && q8 == 5 && r8 == 7 && KRP == KRQ) return 0;
4 0 if (p8 == 3 && q8 == 5 && r8 == 7 && KRP == KRQ) return 0;
302 10 16 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
9 1 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
4 5 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
4 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
0 4 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
0 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
0 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
0 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
0 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
4 0 if (p8 == 1 && q8 == 1 && r8 == 1 && LAGRANGE_COND3 && (p*q*r) % 16 == 9) return 0;
303 9 13 if (p8 == 5 && q8 == 7 && r8 == 7 && KQP == KQR && KQP == -KRP) return 0;
4 5 if (p8 == 5 && q8 == 7 && r8 == 7 && KQP == KQR && KQP == -KRP) return 0;
4 0 if (p8 == 5 && q8 == 7 && r8 == 7 && KQP == KQR && KQP == -KRP) return 0;
4 0 if (p8 == 5 && q8 == 7 && r8 == 7 && KQP == KQR && KQP == -KRP) return 0;
4 0 if (p8 == 5 && q8 == 7 && r8 == 7 && KQP == KQR && KQP == -KRP) return 0;
304 6 12 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
5 1 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
5 0 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
5 0 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
1 4 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
1 0 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
0 1 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
0 0 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
0 0 if (p8 == 1 && q8 == 1 && r8 == 5 && LAGRANGE_COND3) return 0;
311 7 6 if (p8 == 3 && q8 == 3 && r8 == 5 && LAGRANGE_COND1) return 0;
7 0 if (p8 == 3 && q8 == 3 && r8 == 5 && LAGRANGE_COND1) return 0;
7 0 if (p8 == 3 && q8 == 3 && r8 == 5 && LAGRANGE_COND1) return 0;
2 5 if (p8 == 3 && q8 == 3 && r8 == 5 && LAGRANGE_COND1) return 0;
0 2 if (p8 == 3 && q8 == 3 && r8 == 5 && LAGRANGE_COND1) return 0;
0 0 if (p8 == 3 && q8 == 3 && r8 == 5 && LAGRANGE_COND1) return 0;
312 5 1 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
5 0 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
5 0 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
2 3 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
1 1 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
4 0 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
3 1 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
3 0 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
3 0 if (p8 == 5 && q8 == 5 && r8 == 5 && LAGRANGE_COND2) return 0;
314 1 0 if (p8 == 1 && q8 == 3 && r8 == 7 && KPQ == -1 && KPR == -1 && KQR == -1) return 0;
1 0 if (p8 == 1 && q8 == 3 && r8 == 7 && KPQ == -1 && KPR == -1 && KQR == -1) return 0;
0 1 if (p8 == 1 && q8 == 3 && r8 == 7 && KPQ == -1 && KPR == -1 && KQR == -1) return 0;
0 0 if (p8 == 1 && q8 == 3 && r8 == 7 && KPQ == -1 && KPR == -1 && KQR == -1) return 0;
0 0 if (p8 == 1 && q8 == 3 && r8 == 7 && KPQ == -1 && KPR == -1 && KQR == -1) return 0;
0 0 if (p8 == 1 && q8 == 3 && r8 == 7 && KPQ == -1 && KPR == -1 && KQR == -1) return 0;
316 51 62 } else if (isodd && nfac == 4) { /* n = pqrs */
51 0 } else if (isodd && nfac == 4) { /* n = pqrs */
319 6 45 if (p8 == 5 && q8 == 5 && r8 == 7 && s8 == 7 &&
6 0 if (p8 == 5 && q8 == 5 && r8 == 7 && s8 == 7 &&
6 0 if (p8 == 5 && q8 == 5 && r8 == 7 && s8 == 7 &&
6 0 if (p8 == 5 && q8 == 5 && r8 == 7 && s8 == 7 &&
320 0 6 ( (KPR == 1 && KQR == -1 && KPS == -1) ||
0 0 ( (KPR == 1 && KQR == -1 && KPS == -1) ||
0 0 ( (KPR == 1 && KQR == -1 && KPS == -1) ||
321 6 0 (KPR == -1 && KPS == 1 && KQS == -1) ||
4 2 (KPR == -1 && KPS == 1 && KQS == -1) ||
0 4 (KPR == -1 && KPS == 1 && KQS == -1) ||
322 2 0 (KPR == -1 && KPS == -1 && KQR == -KQS)))
2 0 (KPR == -1 && KPS == -1 && KQR == -KQS)))
2 0 (KPR == -1 && KPS == -1 && KQR == -KQS)))
325 25 20 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 7 &&
25 0 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 7 &&
7 18 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 7 &&
7 0 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 7 &&
326 4 3 (KPQ == -1 || KQP == -1) &&
4 0 (KPQ == -1 || KQP == -1) &&
327 7 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
330 20 18 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 3 &&
14 6 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 3 &&
7 7 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 3 &&
7 0 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 3 &&
331 7 0 KPQ == -1 && KPR == -1 && KPS == -1 &&
7 0 KPQ == -1 && KPR == -1 && KPS == -1 &&
335 18 13 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 3 &&
18 0 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 3 &&
18 0 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 3 &&
339 13 6 if (p8 == 1 && q8 == 3 && r8 == 5 && s8 == 7 &&
7 6 if (p8 == 1 && q8 == 3 && r8 == 5 && s8 == 7 &&
7 0 if (p8 == 1 && q8 == 3 && r8 == 5 && s8 == 7 &&
7 0 if (p8 == 1 && q8 == 3 && r8 == 5 && s8 == 7 &&
340 2 5 (KQS == -1 || KSQ == -1) &&
2 0 (KQS == -1 || KSQ == -1) &&
341 7 0 KPR == 1 && KRP == 1 && KPS == 1 && KRQ == 1 && KPQ == -1 && KRS == -1)
7 0 KPR == 1 && KRP == 1 && KPS == 1 && KRQ == 1 && KPQ == -1 && KRS == -1)
7 0 KPR == 1 && KRP == 1 && KPS == 1 && KRQ == 1 && KPQ == -1 && KRS == -1)
7 0 KPR == 1 && KRP == 1 && KPS == 1 && KRQ == 1 && KPQ == -1 && KRS == -1)
7 0 KPR == 1 && KRP == 1 && KPS == 1 && KRQ == 1 && KPQ == -1 && KRS == -1)
7 0 KPR == 1 && KRP == 1 && KPS == 1 && KRQ == 1 && KPQ == -1 && KRS == -1)
344 6 6 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
6 0 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
6 0 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
6 0 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
345 3 3 (KRS == -1 || KSR == -1) && KPQ == 1 && KQP == 1 &&
3 0 (KRS == -1 || KSR == -1) && KPQ == 1 && KQP == 1 &&
6 0 (KRS == -1 || KSR == -1) && KPQ == 1 && KQP == 1 &&
6 0 (KRS == -1 || KSR == -1) && KPQ == 1 && KQP == 1 &&
346 4 2 ( (KPR == -1 && KQS == -1 && KPS == 1 && KQR == 1) ||
4 0 ( (KPR == -1 && KQS == -1 && KPS == 1 && KQR == 1) ||
4 0 ( (KPR == -1 && KQS == -1 && KPS == 1 && KQR == 1) ||
0 4 ( (KPR == -1 && KQS == -1 && KPS == 1 && KQR == 1) ||
347 2 0 (KQR == -1 && KPS == -1 && KQS == 1 && KPR == 1) ))
2 0 (KQR == -1 && KPS == -1 && KQS == 1 && KPR == 1) ))
2 0 (KQR == -1 && KPS == -1 && KQS == 1 && KPR == 1) ))
2 0 (KQR == -1 && KPS == -1 && KQS == 1 && KPR == 1) ))
350 62 0 } else if (iseven && nfac == 4) { /* n = 2pqrs */
62 0 } else if (iseven && nfac == 4) { /* n = 2pqrs */
353 19 43 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
6 13 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
6 0 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
6 0 if (p8 == 1 && q8 == 1 && r8 == 3 && s8 == 3 &&
354 0 6 ( (KPQ == 1 && KPR == -KPS && KQR == -KQS) ||
0 0 ( (KPQ == 1 && KPR == -KPS && KQR == -KQS) ||
0 0 ( (KPQ == 1 && KPR == -KPS && KQR == -KQS) ||
355 6 0 (KPQ == -1 && KPR == KPS && KQR == -KQS) ||
2 4 (KPQ == -1 && KPR == KPS && KQR == -KQS) ||
0 2 (KPQ == -1 && KPR == KPS && KQR == -KQS) ||
356 4 0 (KPQ == -1 && KPR == -KPS)))
4 0 (KPQ == -1 && KPR == -KPS)))
359 32 24 if (p8 == 3 && q8 == 5 && r8 == 5 && s8 == 7 &&
7 25 if (p8 == 3 && q8 == 5 && r8 == 5 && s8 == 7 &&
7 0 if (p8 == 3 && q8 == 5 && r8 == 5 && s8 == 7 &&
7 0 if (p8 == 3 && q8 == 5 && r8 == 5 && s8 == 7 &&
360 0 7 (KQR == -1 || KRQ == -1) &&
0 0 (KQR == -1 || KRQ == -1) &&
361 7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
364 13 36 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 5 &&
7 6 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 5 &&
7 0 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 5 &&
7 0 if (p8 == 1 && q8 == 3 && r8 == 3 && s8 == 5 &&
365 4 3 (KQR == -1 || KRQ == -1) &&
4 0 (KQR == -1 || KRQ == -1) &&
366 7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
7 0 KPQ == -1 && KPR == -1 && KPS == -1 && KQS == -1 && KRS == -1)
369 25 17 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 7 &&
25 0 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 7 &&
19 6 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 7 &&
6 13 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 7 &&
370 6 0 KPS == -1 && KQS == -1 && KRS == -1 &&
6 0 KPS == -1 && KQS == -1 && KRS == -1 &&
374 6 30 if (p8 == 1 && q8 == 5 && r8 == 5 && s8 == 5 &&
6 0 if (p8 == 1 && q8 == 5 && r8 == 5 && s8 == 5 &&
6 0 if (p8 == 1 && q8 == 5 && r8 == 5 && s8 == 5 &&
6 0 if (p8 == 1 && q8 == 5 && r8 == 5 && s8 == 5 &&
375 6 0 KPQ == -1 && KPR == -1 && KPS == -1 &&
6 0 KPQ == -1 && KPR == -1 && KPS == -1 &&
379 19 11 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 3 &&
19 0 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 3 &&
13 6 if (p8 == 3 && q8 == 3 && r8 == 3 && s8 == 3 &&
383 11 12 if (p8 == 5 && q8 == 5 && r8 == 5 && s8 == 5 &&
11 0 if (p8 == 5 && q8 == 5 && r8 == 5 && s8 == 5 &&
11 0 if (p8 == 5 && q8 == 5 && r8 == 5 && s8 == 5 &&
387 12 0 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 5 &&
12 0 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 5 &&
6 6 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 5 &&
6 0 if (p8 == 3 && q8 == 3 && r8 == 5 && s8 == 5 &&
388 3 3 (KPQ == -1 || KQP == -1) && (KRS == -1 || KSR == -1) &&
3 0 (KPQ == -1 || KQP == -1) && (KRS == -1 || KSR == -1) &&
0 6 (KPQ == -1 || KQP == -1) && (KRS == -1 || KSR == -1) &&
0 0 (KPQ == -1 || KQP == -1) && (KRS == -1 || KSR == -1) &&
389 6 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1)
6 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1)
6 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1)
6 0 KPR == -1 && KQR == -1 && KPS == -1 && KQS == -1)
411 110 12 for (i = 0; i < noddfac; i++)
412 39 71 if (oddfac[i] % 8 != 3)
417 12 39 if (allmod3 && _can_orderk(noddfac, oddfac)) return 0;
0 12 if (allmod3 && _can_orderk(noddfac, oddfac)) return 0;
448 15 36 const int noddfactors = (n&1) ? nfactors : nfactors-1;
449 15 36 const UV* oddfac = (n&1) ? fac : fac+1;
452 122 39 for (i = 1; allmod3 && i <= noddfactors; i++)
110 12 for (i = 1; allmod3 && i <= noddfactors; i++)
453 39 71 if ((oddfac[i-1] % 8) != 3)
457 12 39 if (allmod3 && (n&1)) {
6 6 if (allmod3 && (n&1)) {
459 12 0 for (m = 2; m <= nfactors; m += 2) {
461 30 6 for (i = 1; reinholz && i < nfactors; i++)
24 6 for (i = 1; reinholz && i < nfactors; i++)
462 60 6 for (j = 0; reinholz && j < i; j++)
42 18 for (j = 0; reinholz && j < i; j++)
463 24 18 if (j == 0 && i == m-1)
12 12 if (j == 0 && i == m-1)
467 6 6 if (reinholz) return 0;
472 6 39 if (allmod3) {
473 18 0 for (k = 2; k <= noddfactors; k++) {
474 24 12 for (l = 1; l < k; l++) {
476 6 18 if (!((k - l) & 1)) continue;
477 42 12 for (i = 2; cheng && i <= noddfactors; i++)
36 6 for (i = 2; cheng && i <= noddfactors; i++)
478 84 12 for (j = 1; cheng && j < i; j++)
60 24 for (j = 1; cheng && j < i; j++)
479 36 24 if (i == k && j == l)
18 18 if (i == k && j == l)
483 6 12 if (cheng) return 0;
493 30 9 const int eps = (n&1) ? 1 : 2;
494 143 39 for (i = 0; i < noddfactors; i++) {
496 29 114 if (m == 1) P[ g[m]++ ] = oddfac[i];
497 49 94 if (m == 3) Q[ g[m]++ ] = oddfac[i];
498 41 102 if (m == 5) R[ g[m]++ ] = oddfac[i];
499 24 119 if (m == 7) S[ g[m]++ ] = oddfac[i];
502 45 1 for (i = 2; quad && i <= g[1]; i++)
7 38 for (i = 2; quad && i <= g[1]; i++)
503 7 7 for (j = 1; j < i; j++)
505 61 1 for (i = 2; quad && i <= g[3]; i++)
23 38 for (i = 2; quad && i <= g[3]; i++)
506 35 23 for (j = 1; j < i; j++)
508 47 6 for (i = 2; quad && i <= g[5]; i++)
14 33 for (i = 2; quad && i <= g[5]; i++)
509 15 14 for (j = 1; j < i; j++)
511 34 6 for (i = 2; quad && i <= g[7]; i++)
1 33 for (i = 2; quad && i <= g[7]; i++)
512 1 1 for (j = 1; j < i; j++)
514 74 7 for (i = 1; quad && i <= g[3]; i++)
42 32 for (i = 1; quad && i <= g[3]; i++)
515 25 42 for (j = 1; j <= g[1]; j++)
517 62 7 for (i = 1; quad && i <= g[5]; i++)
30 32 for (i = 1; quad && i <= g[5]; i++)
518 15 30 for (j = 1; j <= g[1]; j++)
520 47 7 for (i = 1; quad && i <= g[7]; i++)
15 32 for (i = 1; quad && i <= g[7]; i++)
521 9 15 for (j = 1; j <= g[1]; j++)
523 62 7 for (i = 1; quad && i <= g[5]; i++)
30 32 for (i = 1; quad && i <= g[5]; i++)
524 45 30 for (j = 1; j <= g[3]; j++)
526 45 9 for (i = 1; quad && i <= g[7]; i++)
15 30 for (i = 1; quad && i <= g[7]; i++)
527 21 15 for (j = 1; j <= g[3]; j++)
529 42 10 for (i = 1; quad && i <= g[7]; i++)
13 29 for (i = 1; quad && i <= g[7]; i++)
530 13 13 for (j = 1; j <= g[5]; j++)
532 29 10 if (quad) {
534 13 16 if ( (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 2 && g[3] % 2 == 0)
1 12 if ( (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 2 && g[3] % 2 == 0)
0 1 if ( (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 2 && g[3] % 2 == 0)
0 0 if ( (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 2 && g[3] % 2 == 0)
0 0 if ( (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 2 && g[3] % 2 == 0)
535 13 16 || (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 1)
1 12 || (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 1)
0 1 || (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 1)
0 0 || (g[1] == 0 && g[5] == 0 && g[7] == 0 && eps == 1)
536 13 16 || (g[1] == 0 && g[3] == 0 && g[7] == 0 && eps == 2 && g[5] % 2 == 0))
5 8 || (g[1] == 0 && g[3] == 0 && g[7] == 0 && eps == 2 && g[5] % 2 == 0))
4 1 || (g[1] == 0 && g[3] == 0 && g[7] == 0 && eps == 2 && g[5] % 2 == 0))
0 4 || (g[1] == 0 && g[3] == 0 && g[7] == 0 && eps == 2 && g[5] % 2 == 0))
0 0 || (g[1] == 0 && g[3] == 0 && g[7] == 0 && eps == 2 && g[5] % 2 == 0))
540 13 16 if ( (g[1] == 0 && g[7] == 0 && eps == 1 && (g[3] % 2) == 1 && g[5] >= 1 && g[5] % 2 == 0)
8 5 if ( (g[1] == 0 && g[7] == 0 && eps == 1 && (g[3] % 2) == 1 && g[5] >= 1 && g[5] % 2 == 0)
6 2 if ( (g[1] == 0 && g[7] == 0 && eps == 1 && (g[3] % 2) == 1 && g[5] >= 1 && g[5] % 2 == 0)
2 4 if ( (g[1] == 0 && g[7] == 0 && eps == 1 && (g[3] % 2) == 1 && g[5] >= 1 && g[5] % 2 == 0)
2 0 if ( (g[1] == 0 && g[7] == 0 && eps == 1 && (g[3] % 2) == 1 && g[5] >= 1 && g[5] % 2 == 0)
0 2 if ( (g[1] == 0 && g[7] == 0 && eps == 1 && (g[3] % 2) == 1 && g[5] >= 1 && g[5] % 2 == 0)
541 11 16 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
6 5 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
2 4 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
2 0 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
2 0 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
2 0 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
2 0 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 0)
542 11 16 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] == 1 && g[3] % 2 == 0)
6 5 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] == 1 && g[3] % 2 == 0)
2 4 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] == 1 && g[3] % 2 == 0)
2 0 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] == 1 && g[3] % 2 == 0)
2 0 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] == 1 && g[3] % 2 == 0)
0 2 || (g[1] == 0 && g[7] == 0 && eps == 2 && g[3] >= 1 && g[5] == 1 && g[3] % 2 == 0)
543 9 16 || (g[1] == 0 && g[5] == 0 && eps == 2 && g[7] == 1 && g[3] % 2 == 1)
1 8 || (g[1] == 0 && g[5] == 0 && eps == 2 && g[7] == 1 && g[3] % 2 == 1)
0 1 || (g[1] == 0 && g[5] == 0 && eps == 2 && g[7] == 1 && g[3] % 2 == 1)
0 0 || (g[1] == 0 && g[5] == 0 && eps == 2 && g[7] == 1 && g[3] % 2 == 1)
0 0 || (g[1] == 0 && g[5] == 0 && eps == 2 && g[7] == 1 && g[3] % 2 == 1)
544 9 16 || (g[1] == 0 && g[3] == 0 && eps == 1 && g[5] == 1 && g[7] == 1)
5 4 || (g[1] == 0 && g[3] == 0 && eps == 1 && g[5] == 1 && g[7] == 1)
5 0 || (g[1] == 0 && g[3] == 0 && eps == 1 && g[5] == 1 && g[7] == 1)
0 5 || (g[1] == 0 && g[3] == 0 && eps == 1 && g[5] == 1 && g[7] == 1)
0 0 || (g[1] == 0 && g[3] == 0 && eps == 1 && g[5] == 1 && g[7] == 1)
545 9 16 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] > 1 && g[1] % 2 == 0 && g[3] % 2 == 1)
8 1 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] > 1 && g[1] % 2 == 0 && g[3] % 2 == 1)
5 3 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] > 1 && g[1] % 2 == 0 && g[3] % 2 == 1)
1 4 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] > 1 && g[1] % 2 == 0 && g[3] % 2 == 1)
1 0 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] > 1 && g[1] % 2 == 0 && g[3] % 2 == 1)
0 1 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] > 1 && g[1] % 2 == 0 && g[3] % 2 == 1)
546 8 16 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] == 1 && g[3] % 2 == 1)
7 1 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] == 1 && g[3] % 2 == 1)
4 3 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] == 1 && g[3] % 2 == 1)
4 0 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] == 1 && g[3] % 2 == 1)
4 0 || (g[5] == 0 && g[7] == 0 && eps == 1 && g[1] == 1 && g[3] % 2 == 1)
547 12 12 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[1] == 1 && g[5] % 2 == 1)
11 1 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[1] == 1 && g[5] % 2 == 1)
3 8 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[1] == 1 && g[5] % 2 == 1)
3 0 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[1] == 1 && g[5] % 2 == 1)
3 0 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[1] == 1 && g[5] % 2 == 1)
548 12 12 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[5] == 1 && g[1] > 1 && g[1] % 2 == 0) )
11 1 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[5] == 1 && g[1] > 1 && g[1] % 2 == 0) )
3 8 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[5] == 1 && g[1] > 1 && g[1] % 2 == 0) )
0 3 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[5] == 1 && g[1] > 1 && g[1] % 2 == 0) )
0 0 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[5] == 1 && g[1] > 1 && g[1] % 2 == 0) )
0 0 || (g[3] == 0 && g[7] == 0 && eps == 2 && g[5] == 1 && g[1] > 1 && g[1] % 2 == 0) )
552 9 15 if ( (g[1] == 0 && eps == 1 && g[5] == 1 && g[7] == 1 && g[3] >= 1)
9 0 if ( (g[1] == 0 && eps == 1 && g[5] == 1 && g[7] == 1 && g[3] >= 1)
3 6 if ( (g[1] == 0 && eps == 1 && g[5] == 1 && g[7] == 1 && g[3] >= 1)
3 0 if ( (g[1] == 0 && eps == 1 && g[5] == 1 && g[7] == 1 && g[3] >= 1)
0 3 if ( (g[1] == 0 && eps == 1 && g[5] == 1 && g[7] == 1 && g[3] >= 1)
553 6 15 || (g[1] == 0 && eps == 1 && g[5] >= 2 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 1)
6 0 || (g[1] == 0 && eps == 1 && g[5] >= 2 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 1)
5 1 || (g[1] == 0 && eps == 1 && g[5] >= 2 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 1)
1 4 || (g[1] == 0 && eps == 1 && g[5] >= 2 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 1)
1 0 || (g[1] == 0 && eps == 1 && g[5] >= 2 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 1)
0 1 || (g[1] == 0 && eps == 1 && g[5] >= 2 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 1)
554 5 15 || (g[1] == 0 && eps == 2 && g[5] >= 1 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 0)
0 5 || (g[1] == 0 && eps == 2 && g[5] >= 1 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 0)
0 0 || (g[1] == 0 && eps == 2 && g[5] >= 1 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 0)
0 0 || (g[1] == 0 && eps == 2 && g[5] >= 1 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 0)
0 0 || (g[1] == 0 && eps == 2 && g[5] >= 1 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 0)
0 0 || (g[1] == 0 && eps == 2 && g[5] >= 1 && g[7] == 1 && g[3] % 2 == 1 && g[5] % 2 == 0)
555 12 8 || (g[3] == 0 && eps == 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1)
9 3 || (g[3] == 0 && eps == 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1)
0 9 || (g[3] == 0 && eps == 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1)
0 0 || (g[3] == 0 && eps == 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1)
0 0 || (g[3] == 0 && eps == 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1)
557 12 8 || (g[3] == 0 && eps == 2 && g[5] == 1 && g[7] == 1 && g[1] % 2 == 1)
3 9 || (g[3] == 0 && eps == 2 && g[5] == 1 && g[7] == 1 && g[1] % 2 == 1)
0 3 || (g[3] == 0 && eps == 2 && g[5] == 1 && g[7] == 1 && g[1] % 2 == 1)
0 0 || (g[3] == 0 && eps == 2 && g[5] == 1 && g[7] == 1 && g[1] % 2 == 1)
0 0 || (g[3] == 0 && eps == 2 && g[5] == 1 && g[7] == 1 && g[1] % 2 == 1)
559 8 12 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
5 3 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
4 1 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
0 4 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
0 0 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
0 0 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
0 0 || (g[5] == 0 && eps == 1 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0)
560 8 12 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
3 5 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
3 0 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
0 3 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
0 0 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
0 0 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
0 0 || (g[5] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[3] % 2 == 1)
561 13 7 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
9 4 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
5 4 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
1 4 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
1 0 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
1 0 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
0 1 || (g[7] == 0 && eps == 1 && g[1] >= 1 && g[5] >= 1 && g[1] % 2 == 0 && g[5] % 2 == 0 && g[3] % 2 == 1)
562 12 7 || (g[7] == 0 && eps == 2 && g[1] == 1 && g[3] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 1)
4 8 || (g[7] == 0 && eps == 2 && g[1] == 1 && g[3] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 1)
3 1 || (g[7] == 0 && eps == 2 && g[1] == 1 && g[3] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 1)
0 3 || (g[7] == 0 && eps == 2 && g[1] == 1 && g[3] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 1)
0 0 || (g[7] == 0 && eps == 2 && g[1] == 1 && g[3] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 1)
0 0 || (g[7] == 0 && eps == 2 && g[1] == 1 && g[3] >= 1 && g[3] % 2 == 0 && g[5] % 2 == 1)
563 12 7 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
4 8 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
4 0 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
1 3 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
1 0 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
1 0 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
1 0 || (g[7] == 0 && eps == 2 && g[1] >= 1 && g[3] >= 1 && g[5] == 1 && g[1] % 2 == 0 && g[3] % 2 == 0) )
567 15 3 if ( (eps == 1 && g[1] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 1 && g[5] % 2 == 1)
10 5 if ( (eps == 1 && g[1] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 1 && g[5] % 2 == 1)
6 4 if ( (eps == 1 && g[1] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 1 && g[5] % 2 == 1)
3 3 if ( (eps == 1 && g[1] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 1 && g[5] % 2 == 1)
3 0 if ( (eps == 1 && g[1] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 1 && g[5] % 2 == 1)
0 3 if ( (eps == 1 && g[1] >= 1 && g[7] == 1 && g[1] % 2 == 0 && g[3] % 2 == 1 && g[5] % 2 == 1)
568 12 3 || (eps == 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1 && g[3] % 2 == 0) )
3 9 || (eps == 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1 && g[3] % 2 == 0) )
3 0 || (eps == 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1 && g[3] % 2 == 0) )
3 0 || (eps == 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1 && g[3] % 2 == 0) )
3 0 || (eps == 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1 && g[3] % 2 == 0) )
3 0 || (eps == 1 && g[3] >= 1 && g[7] == 1 && g[1] % 2 == 1 && g[5] % 2 == 1 && g[3] % 2 == 0) )
578 16 6 if ((n&1) && nfactors % 2 == 0 && nfactors >= 4 && nfactors <= 20) {
12 4 if ((n&1) && nfactors % 2 == 0 && nfactors >= 4 && nfactors <= 20) {
5 7 if ((n&1) && nfactors % 2 == 0 && nfactors >= 4 && nfactors <= 20) {
5 0 if ((n&1) && nfactors % 2 == 0 && nfactors >= 4 && nfactors <= 20) {
580 30 5 for (i = 0; i < nfactors; i++) {
584 5 0 if (cntmod[1] == cntmod[3] && cntmod[5] == cntmod[7]) {
5 0 if (cntmod[1] == cntmod[3] && cntmod[5] == cntmod[7]) {
593 30 5 for (i = 0; i < nfactors; i++) {
595 24 6 if (m == 1 || m == 5) pf[pindexbymod[m]++] = fac[i];
9 15 if (m == 1 || m == 5) pf[pindexbymod[m]++] = fac[i];
601 15 5 for (i = 0; i < npairs; i++)
603 20 0 for (i = 0; das && i < npairs; i++) {
15 5 for (i = 0; das && i < npairs; i++) {
604 45 15 for (j = 0; j < npairs; j++) {
605 15 30 if (i > j && kronecker_uu(qf[j],qf[i]) != -1) das = FALSE;
0 15 if (i > j && kronecker_uu(qf[j],qf[i]) != -1) das = FALSE;
606 30 15 if (i != j && kronecker_uu(pf[i],pf[j]) != 1) das = FALSE;
0 30 if (i != j && kronecker_uu(pf[i],pf[j]) != 1) das = FALSE;
607 30 15 if (i != j && kronecker_uu(pf[i],qf[j]) != 1) das = FALSE;
0 30 if (i != j && kronecker_uu(pf[i],qf[j]) != 1) das = FALSE;
610 5 0 if (das) return 0;
624 0 247 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
0 0 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
0 0 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
627 213 34 if (res != -1) return res;
629 0 34 if (res != -1) return res;
631 34 0 if (res != -1) return res;
651 56 144 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
24 32 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
16 8 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
664 56 154 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
24 32 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
16 8 if (nf.n < 13) return (nf.n >= 5 && nf.n <= 7);
668 137 17 if (res != -1) return res;
671 0 17 if (res != -1) return res;
674 0 17 if (res != -1) return res;