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 C (GCC 5.4.1) (judge verdict: Accepted)

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    int x = 0,y = 0;
    int OKflag = 0;
    
    scanf("%d %d",&x,&y);
    
    if( (x <= 12 || y <= 12) && (x != 0 && y != 0)){
        
        if(x > y){
            printf("error 1\n");
            return -1;
            
        }else{
            
            if(x == 2 || y == 2){
                printf("No\n");
                return 0;
            }
            
            
            int AG[7] = {1,3,5,7,8,10,12};
            int BG[4] = {4,6,9,11};
            
            
            for(int i=0;i<7;i++){
                
                if(AG[i] == x){
                    
                    for(int j=i;j<7;j++){
                        if(AG[j] == y){
                            printf("Yes\n");
                            OKflag = 1;
                        }
                    }
                }
            }
            
            for(int i=0;i<4;i++){
                
                if(BG[i] == x){
                    
                    for(int j=i;j<4;j++){
                        if(BG[j] == y){
                            printf("Yes\n");
                            OKflag = 1;
                        }
                    }
                }
            }
            
            if(OKflag == 0){
                printf("No\n");
            }
            
            
        }
    }
    
    return 0;
}