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.42.0) (judge verdict: Accepted)

use proconio::{input, fastout};
use proconio::marker::{Chars};
use proconio::marker::Usize1;
use std::cmp::*;

macro_rules! debug {
      ($($a:expr),*) => {
          eprintln!(concat!($(stringify!($a), " = {:?}, "),*), $($a),*);
    }
}

#[fastout]
fn main() {
    input!{
        xy: [usize;2],
    }
    let mut flag: Vec<usize> = vec![0;3];
    for i in 0..2 {
        match xy[i] {
            1 | 3 | 5 | 7 | 8 | 10 | 12 => flag[0]+=1,
            4 | 6 | 9 | 11 => flag[1]+=1,
            2 => flag[2]+=1,
            _ => return,
        }
    }
    for i in 0..3 {
        if flag[i]==2 {
            println!("Yes");
            return;
        }
    }
    println!("No");
}