#include <bits/stdc++.h>
using namespace std;
long long n;
long long a[100] = {0,       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};
long long Pow2(long long a, long long b) {
  long long ans = 1LL;
  for (long long i = 1; i <= b; i <<= 1, a = (a * a) % 1000000007)
    if (i & b) ans = (ans * a) % 1000000007;
  return ans;
}
int main() {
  scanf("%I64d", &n);
  printf("%I64d\n", (Pow2(2, a[n] - 1) - 1 + 1000000007) % 1000000007);
  return 0;
}
