#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
const int N = 5000;
typedef long long ll;
ll a[N];
set<int> all;
bool isPrime(ll t){for(int i=2; i<t/2; i++){if(t % i == 0){return false;}}return true;
}
int f(ll a[], int n){for(int i=0; i<n; i++){ll first = a[i];for(int delta=1; delta<a[n-1] - first; delta++){int m = first;for(int j=1; j<10; j++){m += delta;if(all.find(m) == all.end()){break;}if(m > a[n - 1]){break;}if(j == 9){return delta;}}}}return -1;
}
int main(){a[0] = 2;a[1] = 3;all.insert(2);all.insert(3);int index = 2;ll t = 5;while(index < 5000){if(isPrime(t)){a[index++] = t; all.insert(t);}t++;}cout << f(a, N) << endl;return 0;
}