inline ll solve() { lim = xn = pn = 0; while(sqr(lim+1) <= n) ++lim; for(ll i = 1, j; i <= n; i = j) x[++xn] = (j=n/(n/i))++; while(p[pn+1] <= lim) ++pn; for(int i = 1, j = 1; i <= xn; ++i) { while(j <= pn && p[j] <= x[i]) ++j; upp[i] = j; } calcg(), calcf();ll ret = 0; for(int i = 1; i <= xn; ++i) ret += f[i]*g[xn-i+1]; return ret; }
static int states ( ) { calcg ( _threadargs_ ) ; /*VERBATIM*/ return 0; return 0; }
static void _hoc_calcg(void) { double _r; _r = 1.; calcg ( ); hoc_retpushx(_r); }