#include <bits/stdc++.h>
using namespace std;
int toInt(string s) {
  istringstream sin(s);
  int t;
  sin >> t;
  return t;
}
template <class T>
string toString(T x) {
  ostringstream sout;
  sout << x;
  return sout.str();
}
template <class T>
void chmin(T &t, T f) {
  if (t > f) t = f;
}
template <class T>
void chmax(T &t, T f) {
  if (t < f) t = f;
}
int p[45] = {2,       3,       5,       7,        13,      17,      19,
             31,      61,      89,      107,      127,     521,     607,
             1279,    2203,    2281,    3217,     4253,    4423,    9689,
             9941,    11213,   19937,   21701,    23209,   44497,   86243,
             110503,  132049,  216091,  756839,   859433,  1257787, 1398269,
             2976221, 3021377, 6972593, 13466917, 20996011};
long long mypower(int n) {
  long long r = 1, p = 2;
  while (n) {
    if (n & 1) r = r * p % 1000000007;
    p = p * p % 1000000007;
    n >>= 1;
  }
  return r;
}
int main() {
  int n;
  cin >> n;
  cout << mypower(p[n - 1] - 1) - 1 << endl;
  return 0;
}
