#include <bits/stdc++.h>
using namespace std;
int vis[10100];
int dat[10100] = {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 cal(int x) {
  long long ret = 1, y = 2;
  for (; x;) {
    if (x & 1) ret = (ret * y) % 1000000007;
    x >>= 1;
    y = (y * y) % 1000000007;
  }
  return ret;
}
int main() {
  int n;
  while (scanf("%d", &n) != EOF) {
    cout << ((cal(dat[n] - 1) - 1) % 1000000007 + 1000000007) % 1000000007
         << endl;
  }
}
