#include <iostream>
#include <algorithm>
#define MAX 10000000
using namespace std;

bool isPrime[MAX+1];

void sieve() {
  fill(&isPrime[0], &isPrime[MAX+1], true);
  isPrime[0] = isPrime[1] = false;
  for(int i = 2; i <= MAX; i++) {
    if(isPrime[i]) {
      for(int j = 2*i; j <= MAX; j += i) isPrime[j] = false;
    }
  }
}

int main() {
  sieve();
  while(1) {
    int n;
    cin >> n;
    if(n == 0) break;

    int ans = 0;
    for(int i = n; i-8 >= 0; i--) {
      if(isPrime[i] && isPrime[i-2] && isPrime[i-6] && isPrime[i-8]) {
	ans = i;
	break;
      }
    }

    cout << ans << endl;
  }
  return 0;
}