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 C++14 (GCC 5.4.1) (judge verdict: Accepted)

#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
#define ADD(X,Y) ((X) = ((X) + (Y)%MOD) % MOD)
typedef long long i64; typedef vector<int> ivec; typedef vector<string> svec; typedef pair<int, int> pi;
int dd[] = { 0, 1, 0, -1, 0 };


int main()
{
	int x, y;
	cin >> x >> y;
	int flag = 0;
	if(x == 2)
	{
		if(y == 2)flag = 1;
	}
	else if(x == 4 || x == 6 || x == 9 || x == 11)
	{
		if(y == 4 || y == 6 || y == 9 || y == 11)flag = 1;
	}
	else
	{
		if(y == 1 || y == 3 || y == 5 || y == 7 || y== 8 || y == 10 || y == 12)flag = 1;
	}
	if(flag)cout << "Yes" << endl;
	else cout << "No" << endl;
	return 0;
}