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 Haskell (GHC 7.10.3) (judge verdict: Accepted)

data Group = G0 | G1 | G2 deriving Eq

grouping :: [[Int]]
grouping = [[1, 3, 5, 7, 8, 10, 12], [4, 6, 9, 11], [2]]

main :: IO ()
main = do
  [x, y] <- (map read . words) <$> getLine :: IO [Int]
  putStrLn $ if findGroup x == findGroup y then "Yes" else "No"

findGroup :: Int -> Group
findGroup x
  | x `elem` grouping!!0 = G0
  | x `elem` grouping!!1 = G1
  | x `elem` grouping!!2 = G2
  | otherwise = error "ここに来ることはない"