#include <bits/stdc++.h>
using namespace std;
const long long maxs = 1e6 + 3;
const long long maxs1 = 1e3 + 4;
const long long mod = 1e9 + 7;
inline long long add(long long a, long long b) { return (mod + a + b) % mod; }
inline long long sub(long long a, long long b) { return (a - b + mod) % mod; }
inline long long mul(long long a, long long b) { return (1ll * a * b) % mod; }
long long fastpow(long long x, long long y) {
  long long res = 1;
  x = x % mod;
  while (y > 0) {
    if (y & 1) res = (res * x) % mod;
    y = y >> 1;
    x = (x * x) % mod;
  }
  return res;
}
long long inv(long long x) { return fastpow(x, mod - 2); }
bool vis[maxs];
vector<long long> graph[maxs];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long k;
  long long a[32];
  a[1] = 1;
  a[2] = 1;
  a[3] = 1;
  a[4] = 2;
  a[5] = 1;
  a[6] = 2;
  a[7] = 1;
  a[8] = 5;
  a[9] = 2;
  a[10] = 2;
  a[11] = 1;
  a[12] = 5;
  a[13] = 1;
  a[14] = 2;
  a[15] = 1;
  a[16] = 14;
  a[17] = 1;
  a[18] = 5;
  a[19] = 1;
  a[20] = 5;
  a[21] = 2;
  a[22] = 2;
  a[23] = 1;
  a[24] = 15;
  a[25] = 2;
  a[26] = 2;
  a[27] = 5;
  a[28] = 4;
  a[29] = 1;
  a[30] = 4;
  a[31] = 1;
  a[32] = 51;
  cin >> k;
  cout << a[k];
}
