#include <bits/stdc++.h>
using namespace std;
const int mason[] = {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},
          Mod = 1000000007;
int main() {
  int n;
  scanf("%d", &n);
  int idx = mason[n - 1] - 1;
  long long ret = 1LL, val = 2LL;
  while (idx) {
    if (idx & 1) ret = ret * val % Mod;
    val = val * val % Mod;
    idx >>= 1;
  }
  printf("%lld\n", ret - 1);
  return 0;
}
