#include using namespace std; using ll = long long; const int N = 5e6+1; bool isp[N]; void init(){ isp[2]=true; for(int i=3;i=N) break; if(!isp[i]) continue; for(auto j=i*i; j>N; ll full=0; for(int i=0;i>x; full|=1<; vector

ok; vector ng; for(int i=2;i<::N;++i){ if(!isp[i]) continue; auto se = num_to_set(i); if(se & (~full)) ng.emplace_back(i); else ok.emplace_back(i, se); } ng.emplace_back(::N); ok.emplace_back(::N, 0); ll L=1,i=0; ll ans=-1; for(auto&x:ng){ ll R=x-1; ll se=0; while(true){ auto [p, s] = ok[i]; if(p>R) break; se|=s; i+=1; } if(se==full&&ans