#include <bits/stdc++.h>
int ans(int t) {
  int x = 1, i;
  for (i = 1; i < t; i++) x = (x * 2) % 1000000007;
  return x - 1;
}
int main() {
  int n;
  scanf("%d", &n);
  int a[41];
  a[1] = 2;
  a[2] = 3;
  a[3] = 5;
  a[4] = 7;
  a[5] = 13;
  a[6] = 17;
  a[7] = 19;
  a[8] = 31;
  a[9] = 61;
  a[10] = 89;
  a[11] = 107;
  a[12] = 127;
  a[13] = 521;
  a[14] = 607;
  a[15] = 1279;
  a[16] = 2203;
  a[17] = 2281;
  a[18] = 3217;
  a[19] = 4253;
  a[20] = 4423;
  a[21] = 9689;
  a[22] = 9941;
  a[23] = 11213;
  a[24] = 19937;
  a[25] = 21701;
  a[26] = 23209;
  a[27] = 44497;
  a[28] = 86243;
  a[29] = 110503;
  a[30] = 132049;
  a[31] = 216091;
  a[32] = 756839;
  a[33] = 859433;
  a[34] = 1257787;
  a[35] = 1398269;
  a[36] = 2976221;
  a[37] = 3021377;
  a[38] = 6972593;
  a[39] = 13466917;
  a[40] = 20996011;
  printf("%d", ans(a[n]));
}

### Prompt

Please provide a Cpp coded solution to the problem described below:

Consider the following equation: 

<image> where sign [a] represents the integer part of number a.

Let's find all integer z (z > 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 > 0), for which the given above equation holds.

Let's write out all such z in the increasing order: z1, z2, z3, and so on (zi < zi + 1). Your task is: given the number n, find the number zn.

Input

The first line contains a single integer n (1 ≤ n ≤ 40).

Output

Print a single integer — the number zn modulo 1000000007 (109 + 7). It is guaranteed that the answer exists.

Examples

Input

1


Output

1

Input

2


Output

3

Input

3


Output

15

### Response

```cpp
#include <bits/stdc++.h>
int ans(int t) {
  int x = 1, i;
  for (i = 1; i < t; i++) x = (x * 2) % 1000000007;
  return x - 1;
}
int main() {
  int n;
  scanf("%d", &n);
  int a[41];
  a[1] = 2;
  a[2] = 3;
  a[3] = 5;
  a[4] = 7;
  a[5] = 13;
  a[6] = 17;
  a[7] = 19;
  a[8] = 31;
  a[9] = 61;
  a[10] = 89;
  a[11] = 107;
  a[12] = 127;
  a[13] = 521;
  a[14] = 607;
  a[15] = 1279;
  a[16] = 2203;
  a[17] = 2281;
  a[18] = 3217;
  a[19] = 4253;
  a[20] = 4423;
  a[21] = 9689;
  a[22] = 9941;
  a[23] = 11213;
  a[24] = 19937;
  a[25] = 21701;
  a[26] = 23209;
  a[27] = 44497;
  a[28] = 86243;
  a[29] = 110503;
  a[30] = 132049;
  a[31] = 216091;
  a[32] = 756839;
  a[33] = 859433;
  a[34] = 1257787;
  a[35] = 1398269;
  a[36] = 2976221;
  a[37] = 3021377;
  a[38] = 6972593;
  a[39] = 13466917;
  a[40] = 20996011;
  printf("%d", ans(a[n]));
}

```