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