#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i, u, a, noor, arr[30], ar[70];
  while (scanf("%d", &n) == 1) {
    for (i = 0; i < n; i++) scanf("%d", &arr[i]);
    for (i = 0; i < 60; i++) {
      if (i == 0 || i == 12 || i == 24 || i == 36 || i == 48)
        ar[i] = 31;
      else if (i == 1 || i == 13 || i == 25 || i == 37 || i == 49)
        ar[i] = 28;
      else if (i == 2 || i == 14 || i == 26 || i == 38 || i == 50)
        ar[i] = 31;
      else if (i == 3 || i == 15 || i == 27 || i == 39 || i == 51)
        ar[i] = 30;
      else if (i == 4 || i == 16 || i == 28 || i == 40 || i == 52)
        ar[i] = 31;
      else if (i == 5 || i == 17 || i == 29 || i == 41 || i == 53)
        ar[i] = 30;
      else if (i == 6 || i == 18 || i == 30 || i == 42 || i == 54)
        ar[i] = 31;
      else if (i == 7 || i == 19 || i == 31 || i == 43 || i == 55)
        ar[i] = 31;
      else if (i == 8 || i == 20 || i == 32 || i == 44 || i == 56)
        ar[i] = 30;
      else if (i == 9 || i == 21 || i == 33 || i == 45 || i == 57)
        ar[i] = 31;
      else if (i == 10 || i == 22 || i == 34 || i == 46 || i == 58)
        ar[i] = 30;
      else if (i == 11 || i == 23 || i == 35 || i == 47 || i == 59)
        ar[i] = 31;
    }
    int flag = 0, cnt = 0, j, flag1 = 0, c = 0, tumi = 0;
    for (i = noor = 0; i < 60 && tumi != 5; i++) {
      cnt = 0;
      int unotris = 0;
      if (ar[i] == arr[0] || arr[0] == 29) {
        if (arr[0] == 29) unotris++;
        noor = 0;
        if (arr[0] == 28 || arr[0] == 29) {
          noor = 1;
          c = cnt;
        }
        cnt++;
        for (j = 1; j < n; j++) {
          if ((arr[j] == 28 || arr[j] == 29) && ar[i + j] == 28) {
            if (arr[j] == 29) unotris++;
            if (unotris > 1) {
              tumi = 5;
              flag = 0;
              break;
            }
            if ((cnt - c) < 12 && noor == 1) {
              flag = 0;
              cnt++;
              tumi = 5;
              break;
            }
            noor = 1;
            c = cnt;
            cnt++;
            j++;
          }
          if (noor == 1) {
            if ((arr[j] != 28 && arr[j] != 29 && arr[j] == ar[i + j]) ||
                ((arr[j] == 28 || arr[j] == 29) && (cnt - c) >= 12)) {
              cnt++;
            }
          } else if (arr[j] == ar[i + j] || (arr[j] == 29 && ar[i + j] == 28)) {
            cnt++;
          }
        }
      }
      if (cnt == n) {
        flag = 1;
        break;
      }
    }
    if (flag == 1)
      cout << "yes" << endl;
    else
      cout << "no" << endl;
  }
  return 0;
}
