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: Wrong Answer)

#include <bits/stdc++.h>
#define rep(i,a,b) for(int i=int(a);i<int(b);++i)
#define SIZE 200005
#define INF 1000000005LL
#define MOD 1000000007
using namespace std;
typedef long long int ll;
typedef pair <int,int> P;
int main(){
    int H;
    int W;
    cin >> H;
    cin >> W;
    vector<char> word(W*H);
    for (int j=0; j<W*H;j++){
        cin >> word.at(j);
    }
    
    for (int i=0;i<W+2;i++){
        cout << "#";
    }
    cout << endl;
    for (int i=0;i<H;i++){
        cout << "#";
        for(int j=i*W;j<(i+1)*W;j++){
            cout << word.at(j) ;
        }
        cout << "#";
        cout << endl;
    }
    for (int i=0;i<W+2;i++){
        cout << "#";
    }
    return 0;
}