#include using namespace std; const int M=5e6; int main(){ int N;cin>>N; vector A(N); for(int i=0;i>A[i]; vector b(10,false); for(int i=0;i is_prime(M+1,true); vector primes; for(int i=2;i<=M;i++){ if(!is_prime[i]) continue; primes.push_back(i); for(int j=2*i;j<=M;j+=i) is_prime[j]=false; } primes.push_back(M+1); auto solve=[](int p){ vector res(10,false); while(p>0){ res[p%10]=true; p/=10; } return res; }; vector now(10,false); int ans=-1,last=0; for(int i=0;i<(int)primes.size()-1;i++){ vector c=solve(primes[i]); bool flag=false; for(int i=0;i<10;i++) if(c[i] and (!b[i])) flag=true; if(flag){ for(int i=0;i<10;i++) now[i]=false; last=primes[i]; continue; } for(int i=0;i<10;i++) if(c[i]) now[i]=true; if(b==now) ans=max(ans,primes[i+1]-last-2); } cout<