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.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.StringTokenizer;


public class r217_b {
	static StringTokenizer st;
	static BufferedReader br;
	static PrintWriter pw;
public static void main(String[] args)throws IOException {
	br=new BufferedReader(new InputStreamReader(System.in));
	pw=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out))); 
	int n=nextInt();
	int a[]={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};
	pw.print(a[n-1]);
	pw.close();
	}
private static int nextInt()throws IOException{
	return Integer.parseInt(next());
}
private static long nextLong()throws IOException{
	return Long.parseLong(next());
}
private static double nextDouble()throws IOException{
	return Double.parseDouble(next());
}
private static String next()throws IOException {
	while (st==null||!st.hasMoreTokens())
	 st=new StringTokenizer(br.readLine());
	return st.nextToken();
}
}