//线性筛m莫比乌斯函数s int miu[maxn+10],vis[maxn+10]; void mobius() { for(int i=1;i<=maxn;++i) miu[i]=1; for(int i=2;i<=maxn;++i) { if(!vis[i]) { miu[i]=-1; for(int j=i+i;j<=maxn;j+=i) { vis[j]=1; if((j/i)%i==0) miu[j]=0; else miu[j]*=-1; } } } } //线性筛m莫比乌斯函数e