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;
int main(){
  int a,b;cin>>a>>b;
  if((a==1&b==1)|(a==1&b==3)|(a==1&b==5)|(a==1&b==7)|(a==1&b==8)|(a==1&b==10)|(a==1&b==12)|(a==3&b==1)|(a==3&b==3)|(a==3&b==5)|(a==3&b==7)|(a==3&b==8)|(a==3&b==10)|(a==3&b==12)|(a==5&b==1)|(a==5&b==3)|(a==5&b==5)|(a==5&b==7)|(a==5&b==8)|(a==5&b==10)|(a==5&b==12)|(a==7&b==1)|(a==7&b==3)|(a==7&b==5)|(a==7&b==7)|(a==7&b==8)|(a==7&b==10)|(a==7&b==12)|(a==8&b==1)|(a==8&b==3)|(a==8&b==5)|(a==8&b==7)|(a==8&b==8)|(a==8&b==10)|(a==8&b==12)|(a==10&b==1)|(a==10&b==3)|(a==10&b==5)|(a==10&b==7)|(a==10&b==8)|(a==10&b==10)|(a==10&b==12)|(a==12&b==1)|(a==12&b==3)|(a==12&b==5)|(a==12&b==7)|(a==12&b==8)|(a==12&b==10)|(a==12&b==12)|(a==4&b==4)|(a==4&b==6)|(a==4&b==9)|(a==4&b==11)|(a==6&b==4)|(a==6&b==6)|(a==6&b==9)|(a==6&b==11)|(a==9&b==4)|(a==9&b==6)|(a==9&b==9)|(a==9&b==11)|(a==11&b==4)|(a==11&b==6)|(a==11&b==9)|(a==11&b==11)|(a==2&b==2))cout<<"Yes";else cout<<"No";}