#include "bits/stdc++.h" using namespace std; #define MAX 200005 bool pdp[MAX]; vector makeprime(){ vector ret; for (int i = 2; i < MAX; i++) { if (pdp[i]) continue; ret.push_back(i); for (int j = i + i; j < MAX; j += i) { pdp[j] = true; } } return ret; } int makehash(int a){ int ret = 0; while (a > 0){ ret += a % 10; a /= 10; } if (ret >= 10) return makehash(ret); return ret; } int main() { auto prime = makeprime(); int K, N; cin >> K >> N; int j = 0; while (prime[j] < K) j++; vector dp(1000, 0); int ans = 0; int anslen = 0; for (int i = 0; i < prime.size(); i++) { if (prime[i] < K) continue; if (prime[i] > N) break; int ihash = makehash(prime[i]); dp[ihash]++; while (dp[ihash] > 1){ int jhash = makehash(prime[j++]); dp[jhash]--; } if (i - j + 1 >= anslen){ ans = prime[j]; anslen = i - j + 1; } } cout << ans << endl; cin >> ans; }