#include #define ONLINE_JUDGE using namespace std; bool primes[1000001]; int dp[1000001]; void init() { int i; for (i = 1; i <= 1000000; i++) { primes[i] = true; } } void resh() { int i, j; primes[1] = false; for (i = 2; i <= 1000000; i++) { if (primes[i]) { for (j = 2 * i; j <= 1000000; j = j + i) { primes[j] = false; } } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #ifdef ONLINE_JUDGE freopen("primes.in", "r", stdin); freopen("primes.out", "w", stdout); #endif // ONLINE_JUDGE init(); resh(); int a, b, k, i; cin >> a >> b >> k; if (primes[a]) dp[a] = 1; else dp[a] = 0; for (i = a + 1; i <= b; i++) { dp[i] = dp[i - 1]; if (primes[i]) dp[i]++; } for (i = 1; i <= b - a + 1; i++) { if (dp[b - i + 1] >= k) { cout << i << '\n'; return 0; } } cout << -1 << '\n'; return 0; }