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 <iostream>
#include <vector>
 
using namespace std;
 
int main(){
  int x, y;
  cin >> x >> y;
  vector<vector<int>> gs = {
    {1, 3, 5, 7, 8, 10, 12},
    {4, 6, 9, 11},
    {2}};
  
  for(auto& g : gs){
    bool contain_x = false;
    bool contain_y = false;
    for(auto& v : g){
      if(v == x) contain_x = true;
      if(v == y) contain_y = true;
    }
    if((contain_x == true) && (contain_y == true)){
      cout << "Yes" << endl;
      break;
    }else if(contain_x != contain_y){
      cout << "No" << endl;
      break;
    }
  }
  return 0;
}