#include <bits/stdc++.h>
using namespace std;
const int a[] = {0,   1,  1, 1, 2,  1, 2,  1, 5,  2, 2,  1, 5,  1, 2, 1,
                 14,  1,  5, 1, 5,  2, 2,  1, 15, 2, 2,  5, 4,  1, 4, 1,
                 51,  1,  2, 1, 14, 1, 2,  2, 14, 1, 6,  1, 4,  2, 2, 1,
                 52,  2,  5, 1, 5,  1, 15, 2, 13, 2, 2,  1, 13, 1, 2, 4,
                 267, 1,  4, 1, 5,  1, 4,  1, 50, 1, 2,  3, 4,  1, 6, 1,
                 52,  15, 2, 1, 15, 1, 2,  1, 12, 1, 10, 1, 4,  2};
int n;
template <typename T>
inline void read(T& x) {
  x = 0;
  char c;
  int lenp = 1;
  do {
    c = getchar();
    if (c == '-') lenp = -1;
  } while (!isdigit(c));
  do {
    x = x * 10 + c - '0';
    c = getchar();
  } while (isdigit(c));
  x *= lenp;
}
int main() {
  read(n);
  printf("%d\n", a[n]);
  return 0;
}

### Prompt

In CPP, your task is to solve the following problem:



Input

The input contains a single integer a (1 ≤ a ≤ 40).

Output

Output a single string.

Examples

Input

2


Output

Adams


Input

8


Output

Van Buren


Input

29


Output

Harding

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const int a[] = {0,   1,  1, 1, 2,  1, 2,  1, 5,  2, 2,  1, 5,  1, 2, 1,
                 14,  1,  5, 1, 5,  2, 2,  1, 15, 2, 2,  5, 4,  1, 4, 1,
                 51,  1,  2, 1, 14, 1, 2,  2, 14, 1, 6,  1, 4,  2, 2, 1,
                 52,  2,  5, 1, 5,  1, 15, 2, 13, 2, 2,  1, 13, 1, 2, 4,
                 267, 1,  4, 1, 5,  1, 4,  1, 50, 1, 2,  3, 4,  1, 6, 1,
                 52,  15, 2, 1, 15, 1, 2,  1, 12, 1, 10, 1, 4,  2};
int n;
template <typename T>
inline void read(T& x) {
  x = 0;
  char c;
  int lenp = 1;
  do {
    c = getchar();
    if (c == '-') lenp = -1;
  } while (!isdigit(c));
  do {
    x = x * 10 + c - '0';
    c = getchar();
  } while (isdigit(c));
  x *= lenp;
}
int main() {
  read(n);
  printf("%d\n", a[n]);
  return 0;
}

```