#include <iostream>
using namespace std;
#define MAX 100000

int prime[MAX];

void is_prime(){
  for(int i = 0 ; i < MAX ; i++) prime[i] = i;
  
  prime[0] = prime[1] = 0;
  for(int i = 2 ; i*i < MAX ; i++){
    if(prime[i] = i){
      for(int j = 2*i ; j < MAX ; j += i){
        prime[j] = 0;
      }
    }
  }
}

int main(void){
  int n;

  is_prime();

  while(cin >> n){
    int j=1,k=1,min=0,max=0,flg1=0,flg2=0;
    for(int i = 0 ; i < MAX ; i++){
      if(prime[i] == n){
        while(min==0&&max==0){
          if(flg1 == 0){
            if(prime[i+j]!=0){
	      max = prime[i+j];
              flg1 = 1;
 	    }
          }
          if(flg2 == 0){
            if(prime[i-k]!=0){          
              min = prime[i-k];           
              flg2 = 1;
            }
          }
          j++; k++;     
        }  
      }
      if(max != 0 && min != 0) break;
    }
    cout << min << ' ' << max << endl;
  }

  return 0;
}