#!/bin/sh fetch -q -o /tmp/p.tgz https://files.pythonhosted.org/packages/source/p/pycosat/pycosat-0.6.6.tar.gz; tar -xzf /tmp/p.tgz -C /tmp; cd /tmp/pycosat-0.6.6; python3 setup.py build -q >/dev/null 2>/dev/null; PYTHONPATH=$(echo build/lib.*) python3 - <<'PY' import pycosat as pc,time for n in [100,200,300,400]: t=time.time(); C=[[i] for i in [1,2,3,5,7]]; Y={}; F=[[] for i in range(2*n+1)] for u in range(2,n+1): for v in range(u,min(n,2*n//u)+1): s=u*v if u==v: F[s].append(u) else: y=n+len(Y)+1; Y[u,v]=y; F[s].append(y); C.extend(([-y,u],[-y,v])) for a in range(1,n+1): for b in range(a,n+1): s=a+b; C.append([-a,-b]+([s] if s<=n else [])+F[s]) r=pc.solve(C); print(n,r if isinstance(r,str) else [i for i in r if 0