#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<ll,ll> mp;
#define inf 1e9
#define MAXN 10000001
bool is_prime[MAXN];
void make(){
    fill(is_prime,is_prime+MAXN,true);
    is_prime[0] = is_prime[1] = false;
    for(int i=2;i<MAXN;i++){
	if(!is_prime[i])continue;
	for(int j=2 ; j*i<MAXN;j++) is_prime[i*j] = false;
    }
}
//bool is_prime2[MAXN];
int main(){
    make();
    //fill(is_prime2,is_prime2+MAXN,true);
    vector<int> ans;
    for(int i=13;i<MAXN;i++){
	if(is_prime[i]){
	    if(is_prime[i] && is_prime[i-2] && is_prime[i-6] &&is_prime[i-8] ){
		ans.push_back(i);
	    }
	}
    }
    while(1){
	int n;
	cin>>n;
	if(n==0)break;
	auto it = upper_bound(ans.begin() , ans.end() ,n);
	it--;
	cout<<*it<<endl;
    }
    return 0;
}

