RT 我大受震撼
https://www.luogu.com.cn/record/63388236
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<cmath>
#define fox(i,s,e) for(int i=(s);i<=(e);++i)
using namespace std;
const int maxn=10e7+10;
int t,x[200005],nxt[maxn],pre[maxn];
bool c[maxn];
inline bool check(int a){
while(a>0){
if(a%10==7)return true;
a/=10;
}
return false;
}
void init(){
cin>>t;
fox(i,1,t)cin>>x[i];
fox(i,1,maxn){
pre[i]=i-1;
nxt[i]=i+1;
}
fox(i,1,maxn){
if(c[i])continue;
if(check(i)){
for(int j=i;j<=maxn;j+=i){
if(c[j])continue;
nxt[pre[j]]=nxt[j];
pre[nxt[j]]=pre[j];
c[j]=true;
}
}
}
}
void solve(){
fox(i,1,t){
if(c[x[i]]==true){
cout<<"-1"<<endl;
}
else{
cout<<nxt[x[i]]<<endl;
}
}
}
int main(){
ios::sync_with_stdio(false);
memset(c,0,sizeof(c));
init();
solve();
}