#include <bits/stdc++.h>
using namespace std;
const int maxn = (int)1e7;
int used[maxn];
int primes[] = {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, 24036583};
const int MOD = (int)1e9 + 7;
inline int mmod(int x) { return x >= MOD ? x - MOD : x < 0 ? x + MOD : x; }
int pow(int x, int pw) {
  int res = 1;
  for (; pw; pw >>= 1) {
    if (pw & 1) res = (long long)res * x % MOD;
    x = (long long)x * x % MOD;
  }
  return res;
}
int main() {
  int n;
  while (scanf("%d", &n) >= 1) {
    printf("%d\n", mmod(pow(2, primes[n - 1] - 1) - 1));
  }
  return 0;
}
