#include <bits/stdc++.h>
using namespace std;
const int INF = 1 << 29;
const double EPS = 1e-8;
int main() {
  vector<int> prime;
  prime.push_back(2);
  for (int i = 3; i * i <= 10000000; i += 2) {
    bool is_prime = true;
    for (int j = 0; j < prime.size(); j++) {
      if (prime[j] * prime[j] > i) break;
      if (i % prime[j] == 0) {
        is_prime = false;
        break;
      }
    }
    if (is_prime) {
      prime.push_back(i);
    }
  }
  while (1) {
    int n;
    scanf("%d", &n);
    if (!n) break;
    if (n % 2 == 0) n--;
    while (1) {
      int p[] = {n, n - 2, n - 6, n - 8};
      int is_prime = true;
      for (int i = 0; i < 4; i++) {
        for (int j = 0; j < prime.size(); j++) {
          if (prime[j] * prime[j] > p[i]) break;
          if (p[i] % prime[j] == 0) {
            is_prime = false;
            break;
          }
        }
        if (!is_prime) break;
      }
      if (is_prime) break;
      n -= 2;
    }
    cout << n << endl;
  }
  return 0;
}
