#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const double eps = 1e-8;
const double PI = acos(-1.0);
const int MAXN = 1e5 + 5;
const int MOD = 1e9 + 7;
int sgn(double x) {
  if (fabs(x) < eps) return 0;
  if (x < 0)
    return -1;
  else
    return 1;
}
long long pw(long long a, long long n, long long mod) {
  long long ret = 1;
  while (n) {
    if (n & 1) ret = ret * a % mod;
    a = a * a % mod;
    n >>= 1;
  }
  return ret;
}
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
int a[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};
int main() {
  int n;
  scanf("%d", &n);
  printf("%I64d\n", pw(2, a[n - 1] - 1, MOD) - 1);
}
