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 a[7] = { 1,3,5,7,8,10,12 };
	int b[4] = { 4,6,9,11 };
	int c[1] = { 2 };
	int x, y;
	int i;
	int z;
	int check1 = 0, check2 = -1;
	z = scanf("%d %d", &x, &y);


	for (i = 0; i < 7; i++)
	{
		//printf("a의값은 %d\n", a[i]);
		if (x == a[i])
		{
			check1 = 1;
			//printf("첫번째루프%d %d x의 값과 같습니다\n", x,a[i]);
			break;
		}
	}

	for (i = 0; i < 7; i++)
	{
		if (y == a[i])
		{
			check2 = 1;
			//printf("첫번째루프%d %d y의 값과 같습니다\n", y, a[i]);
			break;
		}
	}

	for (i = 0; i < 4; i++)
	{
		//printf("b의값은 %d\n", b[i]);
		if (x == b[i])
		{
			check1 = 2;
			//printf("두번째루프%d %d x의 값과 같습니다\n", x,b[i]);
			break;
		}
	}

	for (i = 0; i < 4; i++)
	{

		if (y == b[i])
		{
			check2 = 2;
			//printf("두번쨰루프%d %d y의 값과 같습니다\n", y, b[i]);
			break;
		}
	}
	if (x == c[0])
	{
		check1 = 3;
	}

	if (y == c[0])
	{
		check2 = 3;
	}
	if (check1 == check2)
	{
		printf("Yes");
	}
	else
	{
		printf("No");
	}

	return 0;
}