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 JAVA):

Solution:
import java.awt.*;
import java.io.*; 
import java.math.*;
import java.util.*;
import java.util.Map.Entry;

import static java.lang.Math.*; 
   
public class Solution implements Runnable { 
        final boolean ONLINE_JUDGE = System.getProperty("ONLINE_JUDGE") != null; 
        BufferedReader in; 
        PrintWriter out; 
        StringTokenizer tok = new StringTokenizer(""); 
        String delim = "";
          
        String readString() throws IOException { 
            try {
                while(!tok.hasMoreTokens()) {
                    tok = new StringTokenizer(in.readLine()); 
                }
                return tok.nextToken();
            }
            catch (Exception e){
                return null;
            }
        }
         
        int readInt() throws IOException{ 
            return Integer.parseInt(readString()); 
        }   
        long readLong() throws IOException{ 
            return Long.parseLong(readString()); 
        }       
        double readDouble() throws IOException{ 
            return Double.parseDouble(readString()); 
        }        
        Point readPoint() throws IOException {
            return new Point(readInt(), readInt());
        }
//----------------------------------      
          
        public class Pair<T1,T2> { 
            public T1 x1; 
            public T2 x2; 
            public Pair(){}; 
            public Pair(T1 x1, T2 x2){ 
                this.x1 = x1; 
                this.x2 = x2; 
            } 
            public String toString(){ 
                return x1 + ":" + x2; 
            } 
        }  
        
        public class Three { 
            public int x, y, z; 
            public Three(){} 
            public Three(int a, int b, int c){x = a;y=b;z=c;} 
            public String toString(){ 
                return x + ":" + y + ":" + z; 
            } 
        }   
        
//----------------------------------------                      
        
        
        void solve() throws NumberFormatException, IOException {
            TreeMap<Integer, Integer> map = new TreeMap<Integer, Integer>();
            map.put(1, 1);
            map.put(2, 1);
            map.put(3, 1);
            map.put(4, 2);
            map.put(5, 1);
            map.put(6, 2);
            map.put(7, 1);
            map.put(8, 5);
            map.put(9, 2);
            map.put(10, 2);
            map.put(11, 1);
            map.put(12, 5);
            map.put(13, 1);
            map.put(14, 2);
            map.put(15, 1);
            map.put(16, 14);
            map.put(17, 1);
            map.put(18, 5);
            map.put(19, 1);
            map.put(20, 5);
            map.put(21, 2);
            map.put(22, 2);
            map.put(23, 1);
            map.put(24, 15);
            map.put(25, 2);
            map.put(26, 2);
            map.put(27, 5);
            map.put(28, 4);
            map.put(29, 1);
            map.put(30, 4);
            map.put(31, 1);
            map.put(32, 51);
            map.put(33, 1);
            map.put(34, 2);
            map.put(35, 1);
            map.put(36, 14);
            map.put(37, 1);
            map.put(38, 2);
            map.put(39, 2);
            map.put(40, 14);
            map.put(41, 1);
            map.put(42, 6);
            map.put(43, 1);
            map.put(44, 4);
            map.put(45, 2);
            map.put(46, 2);
            map.put(47, 1);
            map.put(48, 52);
            map.put(49, 2);
            map.put(50, 5);
            map.put(51, 1);
            map.put(52, 5);
            map.put(53, 1);
            map.put(54, 15);
            map.put(55, 2);
            map.put(56, 13);
            map.put(57, 2);
            map.put(58, 2);
            map.put(59, 1);
            map.put(60, 13);
            map.put(61, 1);
            map.put(62, 2);
            map.put(63, 4);
            map.put(64, 267);

            out.println(map.get(readInt()));
        }
        
//---------------------------------------- 
        public static void main(String[] args){ 
            new Thread(null, new Solution(), "", 256 * (1L << 20)).start(); 
        } 
         
        public void run(){ 
                try{ 
                        timeBegin = System.currentTimeMillis(); 
                        
                        
                        
                        try{ 
                            if (ONLINE_JUDGE){ 
                                in = new BufferedReader(new InputStreamReader(System.in)); 
                                out = new PrintWriter(System.out);
                            }  
                            else {                         
                                in = new BufferedReader(new FileReader("input.txt")); 
                                out = new PrintWriter("output.txt");                                 
                            } 
                        }catch(Throwable e){
                            in = new BufferedReader(new InputStreamReader(System.in)); 
                            out = new PrintWriter(System.out); 
                        } 
                        solve();
                        out.close(); 
                          
                        timeEnd = System.currentTimeMillis(); 
                        if (!ONLINE_JUDGE) System.err.println("Time = " + (timeEnd - timeBegin)); 
                }catch (Exception e){ 
                        e.printStackTrace(System.err); 
                        System.exit(-1); 
                } 
        } 
         
        long timeBegin, timeEnd; 
}