#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 10;
bool notprime[MAXN];
int n;
void init() {
memset(notprime, false, sizeof(notprime));
notprime[0] = notprime[1] = true;
for (int i = 2; i < MAXN; i++) {
if (!notprime[i]) {
if (i > MAXN / i) continue;
for (int j = i * i; j < MAXN; j += i) {
notprime[j] = true;
}
}
}
}
int main() {
init();
while (scanf("%d", &n) != EOF) {
for (int i = 2; i <= n / 2; i++) {
if (!notprime[i] && !notprime[n - i]) {
printf("%d %d\n", i, n - i);
}
}
printf("\n");
}
return 0;
}