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>
#define all(x) begin(x), end(x)
#define dbg(x) cerr << #x << " = " << x << endl
#define _ << ' ' <<
using namespace std;
using ll = long long;
using vi = vector<int>;

int a[] = {1, 3, 5, 7, 8, 10, 12};

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int x, y;
    cin >> x >> y;
    if (x == 2 && y == 2)
        cout << "Yes";
    else if (x == 2 || y == 2)
        cout << "No";
    else
    {
        bool ax = false, bx = false;
        for (int i = 0; i < 7; ++i)
        {
            if (a[i] == x)
                ax = true;
            if (a[i] == y)
                bx = true;
        }
        if (ax == bx)
            cout << "Yes";
        else
            cout << "No";
    }
}