bool vis[1000010];
int prime[1000010];
int con=0;
memset(vis,0,sizeof(vis));
for(int i=2;i<1000000;++i)
{
if(!vis[i])
prime[con++]=i;
for(int j=0;j<con;++j)
{
if(i*prime[j]>=1000000)
break;
vis[i*prime[j]]=1;
if(i%prime[j]==0)
break;
}
}