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: Wrong Answer)

#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>

const int32_t group1[] = {1, 3, 5, 7, 8, 10, 12};
const int32_t group2[] = {4, 6, 9, 11};
const int32_t group3[] = {2};

bool is_group(const int32_t group[], size_t len, int32_t x, int32_t y)
{
  for (uint32_t i = 0; i < len; i++) {
    if ((group[i] == x) && (group[i] == y)) {
      return true;
    }
  }

  return false;
}

int32_t main(void)
{
  int32_t x, y;
  scanf("%d %d", &x, &y);

  if (is_group(group1, sizeof(group1) / sizeof(group1[0]), x, y) || is_group(group2, sizeof(group2) / sizeof(group2[0]), x, y) ||
      is_group(group3, sizeof(group3) / sizeof(group3[0]), x, y)) {
    printf("Yes\n");
  } else {
    printf("No\n");
  }

  return 0;
}