#include<bits/stdc++.h>
using namespace std;
vector<bool> generatePrimes(long long limit) {
vector<bool> isPrime(limit + 1, true);
isPrime[0] = isPrime[1] = false;
for (long long i = 2; i * i <= limit; i++) {
if (isPrime[i]) {
for (long long j = i * i; j <= limit; j += i) {
isPrime[j] = false;
}
}
}
return isPrime;
}
vector<pair<long long, long long>> findTwinPrimes(const vector<bool>& isPrime) {
vector<pair<long long, long long>> twinPrimes;
for (long long i = 2; i < isPrime.size() - 2; i++) {
if (isPrime[i] && isPrime[i + 2]) {
twinPrimes.emplace_back(i, i + 2);
}
}
return twinPrimes;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
const long long LIMIT = 20000000;
vector<bool> isPrime = generatePrimes(LIMIT);
vector<pair<long long, long long>> twinPrimes = findTwinPrimes(isPrime);
int S;
while(cin >> S){
if (S >= 1 && S <= twinPrimes.size()) {
cout << "(" << twinPrimes[S - 1].first << ", " << twinPrimes[S - 1].second << ")" << '\n';
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3Rvcjxib29sPiBnZW5lcmF0ZVByaW1lcyhsb25nIGxvbmcgbGltaXQpIHsKICAgIHZlY3Rvcjxib29sPiBpc1ByaW1lKGxpbWl0ICsgMSwgdHJ1ZSk7CiAgICBpc1ByaW1lWzBdID0gaXNQcmltZVsxXSA9IGZhbHNlOwoKICAgIGZvciAobG9uZyBsb25nIGkgPSAyOyBpICogaSA8PSBsaW1pdDsgaSsrKSB7CiAgICAgICAgaWYgKGlzUHJpbWVbaV0pIHsKICAgICAgICAgICAgZm9yIChsb25nIGxvbmcgaiA9IGkgKiBpOyBqIDw9IGxpbWl0OyBqICs9IGkpIHsKICAgICAgICAgICAgICAgIGlzUHJpbWVbal0gPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBpc1ByaW1lOwp9Cgp2ZWN0b3I8cGFpcjxsb25nIGxvbmcsIGxvbmcgbG9uZz4+IGZpbmRUd2luUHJpbWVzKGNvbnN0IHZlY3Rvcjxib29sPiYgaXNQcmltZSkgewogICAgdmVjdG9yPHBhaXI8bG9uZyBsb25nLCBsb25nIGxvbmc+PiB0d2luUHJpbWVzOwogICAgZm9yIChsb25nIGxvbmcgaSA9IDI7IGkgPCBpc1ByaW1lLnNpemUoKSAtIDI7IGkrKykgewogICAgICAgIGlmIChpc1ByaW1lW2ldICYmIGlzUHJpbWVbaSArIDJdKSB7CiAgICAgICAgICAgIHR3aW5QcmltZXMuZW1wbGFjZV9iYWNrKGksIGkgKyAyKTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gdHdpblByaW1lczsKfQoKaW50IG1haW4oKSB7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb25zdCBsb25nIGxvbmcgTElNSVQgPSAyMDAwMDAwMDsKICAgIHZlY3Rvcjxib29sPiBpc1ByaW1lID0gZ2VuZXJhdGVQcmltZXMoTElNSVQpOwogICAgdmVjdG9yPHBhaXI8bG9uZyBsb25nLCBsb25nIGxvbmc+PiB0d2luUHJpbWVzID0gZmluZFR3aW5QcmltZXMoaXNQcmltZSk7CgogICAgaW50IFM7CiAgICB3aGlsZShjaW4gPj4gUyl7CiAgICAgICAgaWYgKFMgPj0gMSAmJiBTIDw9IHR3aW5QcmltZXMuc2l6ZSgpKSB7CiAgICAgICAgICAgIGNvdXQgPDwgIigiIDw8IHR3aW5QcmltZXNbUyAtIDFdLmZpcnN0IDw8ICIsICIgPDwgdHdpblByaW1lc1tTIC0gMV0uc2Vjb25kIDw8ICIpIiA8PCAnXG4nOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9