Problem: 

Input

The input contains a single integer a (0 ≤ a ≤ 35).

Output

Output a single integer.

Examples

Input

3


Output

8


Input

10


Output

1024

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;
inline bool EQ(double a, double b) { return fabs(a - b) < 1e-9; }
template <typename T>
inline T gcd(T a, T b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
template <typename T>
inline T lcm(T a, T b) {
  return (a * b) / gcd(a, b);
}
template <typename T>
string toStr(T x) {
  stringstream st;
  st << x;
  string s;
  st >> s;
  return s;
}
template <class T>
void splitStr(const string &s, vector<T> &out) {
  istringstream in(s);
  out.clear();
  copy(istream_iterator<T>(in), istream_iterator<T>(), back_inserter(out));
}
inline int two(int n) { return 1 << n; }
inline int isOnBit(int n, int b) { return (n >> b) & 1; }
inline void onBit(int &n, int b) { n |= two(b); }
inline void offBit(int &n, int b) { n &= ~two(b); }
inline int lastBit(int n) { return n & (-n); }
inline int cntBit(int n) {
  int res = 0;
  while (n && ++res) n -= n & (-n);
  return res;
}
const int dx4[] = {-1, 0, 1, 0};
const int dy4[] = {0, 1, 0, -1};
const int dx8[] = {-1, 0, 1, 0, -1, -1, 1, 1};
const int dy8[] = {0, 1, 0, -1, -1, 1, -1, 1};
string ans[] = {
    "Washington", "Adams",     "Jefferson", "Madison",    "Monroe",
    "Adams",      "Jackson",   "Van Buren", "Harrison",   "Tyler",
    "Polk",       "Taylor",    "Fillmore",  "Pierce",     "Buchanan",
    "Lincoln",    "Johnson",   "Grant",     "Hayes",      "Garfield",
    "Arthur",     "Cleveland", "Harrison",  "Cleveland",  "McKinley",
    "Roosevelt",  "Taft",      "Wilson",    "Harding",    "Coolidge",
    "Hoover",     "Roosevelt", "Truman",    "Eisenhower", "Kennedy",
    "Johnson",    "Nixon",     "Ford",      "Carter",     "Reagan",
    "Bush",       "Clinton",   "Bush",      "Obama"};
int main() {
  int n;
  cin >> n;
  cout << ans[n - 1];
  return 0;
}