#include <bits/stdc++.h>
int mapp[10][10];
int nx[4] = {0, 1, -1, 0};
int ny[4] = {1, 0, 0, -1};
int flag[10];
int main() {
  char a[10];
  int n;
  scanf("%d", &n);
  scanf("%s", &a);
  for (int i = 0; i < n; i++) {
    if (a[i] == '0')
      mapp[4][2] = 1;
    else
      mapp[(a[i] - 49) / 3 + 1][(a[i] - 48) % 3 == 0 ? 3 : (a[i] - 48) % 3] = 1;
  }
  for (int k = 0; k < 4; k++) {
    for (int i = 1; i <= 4; i++) {
      int flag2 = 0;
      for (int j = 1; j <= 3; j++) {
        if (mapp[i][j] == 1) {
          if (i + nx[k] > 4 || i + nx[k] < 1 ||
              (i + nx[k] == 4 && j + ny[k] != 2) || j + ny[k] < 1 ||
              j + ny[k] > 3) {
            flag2 = 1;
            flag[k] = 1;
            break;
          }
        }
      }
      if (flag2) break;
    }
  }
  for (int i = 0; i < 4; i++) {
    if (flag[i] == 0) {
      printf("NO\n");
      break;
    }
    if (i == 3) printf("YES\n");
  }
}
