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 Rust (1.15.1) (judge verdict: Accepted)

fn check(num: u64) -> u64 {
    match num {
        1|3|5|7|8|10|12 => 1,
        4|6|9|11 => 2,
        2 => 3,
        _ => 0
    }
}

fn main() {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).unwrap();
    let mut ws = s.trim().split_whitespace();
    let x: u64 = ws.next().unwrap().parse().unwrap();
    let y: u64 = ws.next().unwrap().parse().unwrap();
    if check(x) == check(y) {
        println!("Yes");
    } else {
        println!("No");       
    }
}