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).
a=[0,1,2,4,6,12,16,18,30,60,88,106,126,520,606,1278,2202,2280,3216,4252,4422,9688,9940,11212,19936,21700,23208,44496,86242,110502,132048,216090,756838,859432,1257786,1398268,2976220,3021376,6972592,13466916,20996010]
n=input()
print pow(2,a[n]-1,10**9+7)-1