#include<stdio.h>
const int MAX_V = 10000;
int prime[MAX_V+1];
int hurui(int v){
  int i, k;
  for(i = 2; i <= MAX_V; i++) {
    prime[i] = 1;
  }
  for(i = 2; i*i <= MAX_V; i++) {
    if(prime[i]) {
      for(k = 2 * i; k <= MAX_V; k += i) {
        prime[k] = 0;
      }
    }
  }
  int isprime = prime[v];
  if(isprime) {
    return 1;
  }else{
    return 0;
  }
}

int main() {
  int v;
  while(scanf("%d", &v) != EOF) {
    while(1){
      if(hurui(v) == 0 || hurui(v - 2) == 0){
        v--;
      }else{
        printf("%d %d\n", v - 2, v);
        break;
      }
    }
    if(v == 0){
      break;
    }
  }
  return 0;
}