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)

use std::io;

fn contain(num: &usize) -> usize {
        let g1: Vec<usize> = vec![1,3,5,7,8,10,12];
        let g2: Vec<usize> = vec![4,6,9,11];
        if g1.contains(num) {
                0
        } else if g2.contains(num) {
                1
        } else {
                2
        }
}

fn main() {
        let stdin = io::stdin();
        let mut buf = String::new();

        stdin.read_line(&mut buf).unwrap();

        let xy: Vec<usize> = buf.split_whitespace().map(|n| n.parse().unwrap()).collect();

        let a = contain(&xy[0]);
        let b = contain(&xy[1]);

        if a == b {
                println!("Yes");
        } else {
                println!("No");
        }
}