#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ALL(v) v.begin(), v.end()
typedef long long ll;

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

#include <bits/stdc++.h>
using namespace std;

int main(){
  int n;
  cin>>n;
  
  vector<ll> a={100003, 100019 ,100043 ,100049 ,100057 ,100069 ,100103 ,100109 ,100129};
  vector<ll> b={1};
  
  rep(i,9){
    for(int j=i;j<9;j++){
      b.push_back(a[i]*a[j]);
    }
  }
  
  sort(ALL(b));
  
  cout<<b[n-1]<<endl;

  return 0;
}