#pragma GCC optimize("O3","unroll-loops")
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int LIMIT = 180000000;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
freopen("QUYLUAT.INP", "r", stdin);
freopen("QUYLUAT.OUT", "w", stdout);
int n;
cin >> n;
vector<bool> isPrime(LIMIT + 1, true);
vector<int> primes;
isPrime[0] = isPrime[1] = false;
for (int i = 2; i <= LIMIT; i++){
if (isPrime[i]) primes.push_back(i);
for (int p : primes){
if (1LL * i * p > LIMIT) break;
isPrime[i * p] = false;
if (i % p == 0) break;
}
if ((int)primes.size() >= n) break;
}
ll p = primes[n - 1];
cout << 1LL * p * p + n;
return 0;
}
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk8zIiwidW5yb2xsLWxvb3BzIikKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgTElNSVQgPSAxODAwMDAwMDA7CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKCiAgICBmcmVvcGVuKCJRVVlMVUFULklOUCIsICJyIiwgc3RkaW4pOwogICAgZnJlb3BlbigiUVVZTFVBVC5PVVQiLCAidyIsIHN0ZG91dCk7CgogICAgaW50IG47CiAgICBjaW4gPj4gbjsKCiAgICB2ZWN0b3I8Ym9vbD4gaXNQcmltZShMSU1JVCArIDEsIHRydWUpOwogICAgdmVjdG9yPGludD4gcHJpbWVzOwoKICAgIGlzUHJpbWVbMF0gPSBpc1ByaW1lWzFdID0gZmFsc2U7CgogICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gTElNSVQ7IGkrKyl7CiAgICAgICAgaWYgKGlzUHJpbWVbaV0pIHByaW1lcy5wdXNoX2JhY2soaSk7CgogICAgICAgIGZvciAoaW50IHAgOiBwcmltZXMpewogICAgICAgICAgICBpZiAoMUxMICogaSAqIHAgPiBMSU1JVCkgYnJlYWs7CiAgICAgICAgICAgIGlzUHJpbWVbaSAqIHBdID0gZmFsc2U7CiAgICAgICAgICAgIGlmIChpICUgcCA9PSAwKSBicmVhazsKICAgICAgICB9CgogICAgICAgIGlmICgoaW50KXByaW1lcy5zaXplKCkgPj0gbikgYnJlYWs7CiAgICB9CgogICAgbGwgcCA9IHByaW1lc1tuIC0gMV07CiAgICBjb3V0IDw8IDFMTCAqIHAgKiBwICsgbjsKCiAgICByZXR1cm4gMDsKfQo=