has(n)=numdiv(n)==40; list(lim)={ my(v=List(),t); forprime(p=2,sqrtnint(lim\=1,39), t=p^39; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1))); forprime(p=2,sqrtnint(lim\2,19), my(p19=p^19); forprime(q=2,lim\p19, if(p==q, next); t=p19*q; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1)))); forprime(p=2,sqrtnint(lim\8,9), my(p9=p^9); forprime(q=2,sqrtnint(lim\p9,3), if(p==q, next); t=p9*q^3; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1)))); forprime(p=2,sqrtnint(lim\6,9), my(p9=p^9); forprime(q=2,lim\(2*p9), if(p==q, next); my(p9q=p9*q); forprime(r=2,lim\p9q, if(p==r || q==r, next); t=p9q*r; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1))))); forprime(p=2,sqrtnint(lim\16,7), my(p7=p^7); forprime(q=2,sqrtnint(lim\p7,4), if(p==q, next); t=p7*q^4; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1)))); forprime(p=2,sqrtnint(lim\24,4), my(p4=p^4); forprime(q=2,sqrtnint(lim\(2*p4),3), if(p==q, next); my(p4q3=p4*q^3); forprime(r=2,lim\p4q3, if(p==r || q==r, next); t=p4q3*r; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1))))); forprime(p=2,sqrtnint(lim\30,4), my(p4=p^4); forprime(q=2,lim\(6*p4), if(p==q, next); my(p4q=p4*q); forprime(r=2,lim\(2*p4q), if(p==r || q==r, next); my(p4qr=p4q*r); forprime(s=2,lim\p4qr, if(p==s || q==s || r==s, next); t=p4qr*s; if(has(t+1), listput(v,t)); if(has(t-1), listput(v,t-1)))))); Set(v); }