#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(i,x) for(int i=0;i<x;i++)
#define put(ans)    cout << ans << endl;
#define sort(s) sort(s.begin(),s.end())
#define reverse(s) reverse(s.begin(),s.end())

//最大公約数
ll gcd(ll a, ll b) {
    return b ? gcd(b, a%b) : a;
}
//最小公倍数
ll lcm(ll a, ll b) {
    return a / gcd(a, b) * b;
}
bool isPrime(int x){
    ll i;
    if(x < 2)return 0;
    else if(x == 2) return 1;
    if(x%2 == 0) return 0;
    for(i = 3; i*i <= x; i += 2) if(x%i == 0) return 0;
    return 1;
}

int main(){
    bool is_prime[1000000];

    is_prime[0] = is_prime[1] = false;
    for(int i=2;i<1000000;i++)
        is_prime[i] = true;

    for(int i=2;i*i<1000000;i++){
        if(is_prime[i]){
            for(int j=i*i;j<1000000;j+=i){
                is_prime[j] = false;
            }
        }
    }

    while(1){
        int n;
        cin >> n;

        if(cin.eof())   break;

        for(int i=n-1;i>0;i--){
            if(is_prime[i]){
                cout << i;
                break;
            }
        }
        for(int i=n+1;i<50022;i++){
            if(is_prime[i]){
                cout << " " << i << endl;
                break;
            }
        }
    }

    return 0;
}
