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>
using namespace std;

typedef long long int ll;
typedef pair<ll, ll> pll;

#define FOR(i, n, m) for (ll(i) = (m); (i) < (n); ++(i))
#define REP(i, n) FOR(i, n, 0)
#define OF64 std::setprecision(10)

const ll MOD = 1000000007;
const ll INF = (ll)1e15;

int main()
{
    int x, y;
    cin >> x >> y;
    string ans = "Yes";
    if (x == 2 || y == 2)
    {
        ans = "No";
    }
    else if (y <= 6)
    {
        if ((x + y) % 2 == 1)
            ans = "No";
    }
    else if (x >= 7)
    {
        if ((x + y) % 2 == 1)
            ans = "No";
    }
    else
    {
        if ((x + y) % 2 == 0)
            ans = "No";
    }
    cout << ans << endl;
    return 0;
}