#include <bits/stdc++.h>
#pragma warning(disable : 4996)
int main() {
  int a, b, c, i, j, k;
  char s[10];
  int m[6][6];
  int flag;
  while (scanf("%d", &a) != EOF) {
    memset(m, 0, sizeof(m));
    scanf("%s", s);
    int flag1 = 0;
    b = strlen(s);
    flag = 0;
    for (i = 0; i < b; i++) {
      if (s[i] == '0') m[4][2] = 1;
      if (s[i] == '1') m[1][1] = 1;
      if (s[i] == '2') m[1][2] = 1;
      if (s[i] == '3') m[1][3] = 1;
      if (s[i] == '4') m[2][1] = 1;
      if (s[i] == '5') m[2][2] = 1;
      if (s[i] == '6') m[2][3] = 1;
      if (s[i] == '7') m[3][1] = 1;
      if (s[i] == '8') m[3][2] = 1;
      if (s[i] == '9') m[3][3] = 1;
    }
    for (i = 1; i < 6; i++) {
      for (j = 1; j < 6; j++) {
        if (m[i][j] == 1) {
          if ((i == 3 && j == 3) || (i == 2 && j == 3) || (i == 1 && j == 3) ||
              (i == 4 && j == 2)) {
            flag1 = 1;
            flag++;
            break;
          }
        }
      }
      if (flag1) break;
    }
    flag1 = 0;
    for (i = 1; i < 6; i++) {
      for (j = 1; j < 6; j++) {
        if (m[i][j] == 1) {
          if ((i == 1 && j == 1) || (i == 2 && j == 1) || (i == 3 && j == 1) ||
              (i == 4 && j == 2)) {
            flag1 = 1;
            flag++;
            break;
          }
        }
      }
      if (flag1) break;
    }
    flag1 = 0;
    for (i = 1; i < 6; i++) {
      for (j = 1; j < 6; j++) {
        if (m[i][j] == 1) {
          if ((i == 3 && j == 1) || (i == 4 && j == 2) || (i == 3 && j == 3)) {
            flag1 = 1;
            flag++;
            break;
          }
        }
      }
      if (flag1) break;
    }
    flag1 = 0;
    for (i = 1; i < 6; i++) {
      for (j = 1; j < 6; j++) {
        if (m[i][j] == 1) {
          if ((i == 1 && j == 1) || (i == 1 && j == 2) || (i == 1 && j == 3)) {
            flag1 = 1;
            flag++;
            break;
          }
        }
      }
      if (flag1) break;
    }
    if (flag == 4)
      printf("YES\n");
    else
      printf("NO\n");
  }
}
