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

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
template <typename T>
inline void read(T &x) {
  T s = 0, f = 1;
  char k = getchar();
  while (!isdigit(k) && (k ^ '-')) k = getchar();
  if (!isdigit(k)) {
    f = -1;
    k = getchar();
  }
  while (isdigit(k)) {
    s = s * 10 + (k ^ 48);
    k = getchar();
  }
  x = s * f;
}
void file() {}
const int MAXN = 2e5 + 7;
static int a[100] = {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 main() {
  file();
  static int n;
  read(n);
  printf("%d\n", a[n]);
  return 0;
}