Problem:
Score : 100 points

Problem Statement

Based on some criterion, Snuke divided the integers from 1 through 12 into three groups as shown in the figure below.
Given two integers x and y (1 ≤ x < y ≤ 12), determine whether they belong to the same group.

Constraints

x and y are integers.

1 ≤ x < y ≤ 12

Input

Input is given from Standard Input in the following format:

x y

Output

If x and y belong to the same group, print Yes; otherwise, print No.

Sample Input 1

1 3

Sample Output 1

Yes

Sample Input 2

2 4

Sample Output 2

No

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Accepted)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader input =new BufferedReader (new InputStreamReader (System.in));
		String str = input.readLine( );
		String[] strlist = str.split(" ");
		int x = Integer.parseInt(strlist[0]);
		int y = Integer.parseInt(strlist[1]);
		int[] A = {1, 3, 5, 7, 8,10, 12};
		int[] B = {4, 6, 9, 11};
		ArrayList<Integer> listA = toList(A);
		ArrayList<Integer> listB = toList(B);

		String answer = "No";
		if(x == 2 && y == 2){
			answer = "Yes";
		}else if(listB.contains(x) && listB.contains(y)){
			answer = "Yes";
		}else if(listA.contains(x) && listA.contains(y)){
			answer = "Yes";
		}
		System.out.println(answer);
	}

	public static ArrayList<Integer> toList(int[] list){
		ArrayList<Integer> returnList = new ArrayList<Integer>();
		for(int i=0; i<list.length; i++){
			returnList.add(list[i]);
		}
		return returnList;
	}

}