整理莫比乌斯反演筛
void pre_calc(int lim){
mu[1]=-1;
for (int i=2;i<=lim;i++)
{
if (!prime_tag[i]) prime_tag[++prime_tot]=i,mu[i]=-1;
for (int j=1;j<=prime_tot;j++)
{
if (prime[j]*i>lim) break;
prime_tag[prime[j]*i]=1;
if (i%prime[j]==0) {
mu[i*prime[j]]=0;
break;
}
else mu[i*prime[j]]=-mu[i];
}
}
}