ll@N,@P,e[4d5]{},s{},c;VI d[4d5];rep(x,1,N+1)rep(y,x,N+1,x)d[y].push_back(x);rep(a,3,N+1){c=d[a].size();for(int b:d[a])s-=e[(a-1)/b*b];s%%=P;e[a]=(s+a)*powmod(a-c,P-2,P);e[a]%=P;s+=e[a]*c;s%=P;}wt(e[N]);