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).
n = int(input())
M = 10 ** 9 + 7
ans = [0, 1, 2, 4, 6, 12, 16, 18, 30, 40, 46, 52, 58, 60, 66, 70, 78]
z = 2 ** 48
for i in range(50, 80, 2):
    z *= 4
    for j in range(2, 1000, 2):
        l = 0
        r = z
        while r - l > 1:
            m = (l + r) // 2
            if j // 2 + m + j * m > z - 1:
                r = m
            else:
                l = m
        if j // 2 + l + j * l == z - 1:
            print(i, j, l)
            break
    else:
        ans.append(i)
    
print((2 ** ans[n]) % M)

