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;
use std::str;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let split: Vec<&str> = input.as_str().split_whitespace().collect();

    let a: i64 = split[0].parse().unwrap();
    let b: i64 = split[1].parse().unwrap();

    let first: Vec<i64> = vec![1, 3, 5, 7, 8, 10, 12];
    let second: Vec<i64> = vec![4, 6, 9, 11];

    match a {
        1 | 3 | 5 | 7 | 8 | 10 | 12 => {
            if first.contains(&b) {
                println!("Yes")
            } else {
                println!("No")
            }
        }
        4 | 6 | 9 | 11 => {
            if second.contains(&b) {
                println!("Yes")
            } else {
                println!("No")
            }
        }
        _ => {
            if b == 2 {
                println!("Yes")
            } else {
                println!("No")
            }
        }
    }
}