#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;

bool isprime[10000001];

int main(){
	vector<int> cand;
	memset(isprime, true, sizeof(isprime));
	
	isprime[0] = false;
	isprime[1] = false;
	for(int i=2;i<=10000000;i++){
		if(isprime[i]){
			if(i >= 6 && isprime[i-2] && isprime[i-6] && isprime[i-8]){
				cand.push_back(i);
			}
			for(int j=2;i*j<=10000000;j++) isprime[i*j] = false;
		}
	}
	int n;
	while(cin >> n && n){
		cout << *(upper_bound(cand.begin(), cand.end(), n)-1) << endl;
	}
}