#include using namespace std; #define rep(i,n) for(int i = 0; i < (n); i++) #define ALL(v) (v).begin(),(v).end() using ll = long long; using P = pair; const int INF = 1e9; const long long LINF = 1e18; const long long MOD = 1e9 + 7; vector eratos(int n){ vector res(n + 1, 2); for (int i = 2; i <= n; i++) { for (int j = 2 * i; j <= n; j += i) { res[j]++; } } return res; } signed main(){ ll x; cin >> x; auto e = eratos(x); vector f(x + 1); for (int i = 1; i <= x; i++){ f[i] = i - e[i]; } vector> v; for (int i = 1; i < x; i++) { v.emplace_back(pair(abs(f[i] - f[x - i]), {i, x - i})); } sort(ALL(v)); int i = 0; while (i < v.size() && v[i].first == v[0].first){ cout << v[i].second.first << " " << v[i].second.second << endl; i++; } return 0; }