#include #define ll long long int using namespace std; bool isp[1000001]; vector p; inline void sieve() { memset(isp,true,sizeof(isp)); isp[0]=isp[1]=false; for(ll i=4;i<1000001;i+=2) isp[i]=false; for(ll i=3;i<1000001;i+=2) { if(isp[i]) { for(ll j=i+i;j<1000001;j+=i) isp[j]=false; } } for(ll i=1;i<1000001;i++) { if(isp[i]) p.push_back(i); } } inline ll call(ll x) { if(x==1) return 1; ll n=x,ret=1; vector pf; for(ll i=0;p[i]*p[i]<=x && i>n; for(ll i=0;i>x; ans+=call(x); } cout<