#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,n) for(int (i)=0;(i)<(n);(i)++) #define FOR(i,m,n) for(int (i)=(m);(i)<(n);(i)++) #define All(v) (v).begin(),(v).end() typedef long long ll; vector sieve(int x){//range...[0,x] vector flags(x+1,true); flags[0]=false,flags[1]=false; for(int i=2;i*i<=x;i++){ if(!flags[i])continue; for(int mult = i*i;mult0){ ret+=num%10; num/=10; } return frank_hash(ret); } } int main(){ int K,N; cin >> K >> N; auto s = sieve(200000); vector primes; for(int i=K;i<=N;i++){ if(s[i])primes.push_back(i); } int m = primes.size(); vector hashed(m); rep(i,m){ hashed[i]=frank_hash(primes[i]); } int left = 0,right=0; map nums; int len = 0,res = 0; for(;right=len){ len = right-left; res = primes[left]; } } //rep(i,m)cout << hashed[i] << endl; cout << res << endl; return 0; }