#include <bits/stdc++.h>
using namespace std;
int ms[45] = {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};
long long Pow(long long x, int p) {
  long long ans = 1;
  p--;
  while (p) {
    if (p & 1) (ans *= x) %= 1000000007;
    p >>= 1;
    (x *= x) %= 1000000007;
  }
  return (ans + 1000000007 - 1) % 1000000007;
}
int main() {
  int n;
  while (scanf("%d", &n) != EOF) printf("%I64d\n", Pow(2, ms[n]));
  return 0;
}
