Consider the following equation: 

Let's find all integer *z* (*z* &gt; 0), for which this equation is unsolvable in positive integers. The phrase "unsolvable in positive integers" means that there are no such positive integers *x* and *y* (*x*, *y* &gt; 0), for which the given above equation holds.

Let's write out all such *z* in the increasing order: *z*<sub class="lower-index">1</sub>, *z*<sub class="lower-index">2</sub>, *z*<sub class="lower-index">3</sub>, and so on (*z*<sub class="lower-index">*i*</sub> &lt; *z*<sub class="lower-index">*i* + 1</sub>). Your task is: given the number *n*, find the number *z*<sub class="lower-index">*n*</sub>.
The first line contains a single integer *n* (1 ≤ *n* ≤ 40).
# I've proven, that z takes form of 2 ** (k - 1) - 1,
# where 2 ** k - 1 is prime, which are called 'Mersenne primes'.

p = [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,\
    2967221, 3021377, 6972593, 13466917, 20996011]
n = int(input())
MOD = 10 ** 9 + 7
print((pow(2, p[n - 1] - 1, MOD) - 1) % MOD)
