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 (Clang 3.8.0) (judge verdict: Accepted)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>

#define unknown -1

int main(void) {
	int groups[3][7] = {{1, 3, 5, 7, 8, 10, 12}, {4, 6, 9, 11}, {2}};
	int size[] = {7, 4, 1};
	int i, j, k, num[2];
	char group[] = {unknown, unknown};
	scanf("%d %d", &num[0], &num[1]);
	for (i = 0; i < 2; i++) {
		for (j = 0; j < 3; j++) {
			for (k = 0; k < size[j]; k++)
			if (groups[j][k] == num[i]) {
				group[i] = j;
				break;
			}
		}
	}
	printf("%s\n", group[0] == group[1] ? "Yes" : "No");
	return 0;
}