#!/bin/sh cat >/tmp/a.cpp <<'EOF' #include using namespace std;using U=uint64_t;using W=__uint128_t; U m(U a,U b,U n){return W(a)*b%n;} U pw(U a,U e,U n){U r=1;for(;e;e>>=1,a=m(a,a,n))if(e&1)r=m(r,a,n);return r;} bool pr(U n){if(n<2)return 0;for(U p:{2,3,5,7,11,13,17,19,23,29,31,37})if(n%p==0)return n==p;U d=n-1;int s=0;while(!(d&2))d>>=1,s ;for(U a:{2ULL,325ULL,9375ULL,28178ULL,450775ULL,9780504ULL,1795265022ULL}){if(a%n==0)continue;U x=pw(a%n,d,n);if(x==1||x==n-1)continue;int i;for(i=1;i>9;return seed;} U rho(U n){for(U p:{2,3,5,7,11,13,17,19,23,29,31,37})if(n%p==0)return p;for(;;){U c=rnd()%(n-1)+1,x=rnd()%(n-2)+2,y=x,d=1;for(int i=0;i<120000&&d==1;i ){x=(m(x,x,n)+c)%n;y=(m(y,y,n)+c)%n;y=(m(y,y,n)+c)%n;d=gcd(x>y?x-y:y-x,n);}if(d>1&&d&v){if(n==1)return;if(pr(n)){v.push_back(n);return;}U d=rho(n);fac(d,v);fac(n/d,v);} bool in(U p){return p>3&&p%3==1&&pw(2,(p-1)/3,p)!=1;} int main(){U A=1000000000000000000ULL;int ans=0;for(U n=A;n<=A+10000;n ){vectorv;fac(n,v);sort(v.begin(),v.end());bool ok=1;for(int i=0;i<(int)v.size();){int j=i+1;while(j<(int)v.size()&&v[j]==v[i])j ;if(in(v[i])&&(j-i)%3)ok=0;i=j;}if(ok)ans ;}printf("COUNT=%d\n",ans);} EOF /usr/bin/clang++ -O3 -std=c++17 /tmp/a.cpp -o /tmp/a && time /tmp/a