#include <bits/stdc++.h>
using namespace std;
struct x {
  int raiz;
  int val2;
  int val31;
};
long long int n, m, cant[4], a, b, p, cont;
long long int visitados[5002], tabla[5002][5002];
vector<long long int> hijos[5002];
x grafos[5002];
bool res;
void busca(long long int pos, long long int prof) {
  if (prof % 2 == 0) {
    grafos[cont].val2++;
    visitados[pos] = 12;
  } else {
    visitados[pos] = 11;
    grafos[cont].val31++;
  }
  for (auto h : hijos[pos]) {
    if (visitados[h] == 0)
      busca(h, prof + 1);
    else if (visitados[h] == visitados[pos])
      res = false;
  }
}
void llena(long long int pos, long long int prof, long long int forma) {
  if ((prof % 2 == 0 && forma > 0) || (prof % 2 == 1 && forma < 0))
    visitados[pos] = 2;
  else {
    if (cant[3] == 0)
      visitados[pos] = 1;
    else {
      cant[3]--;
      visitados[pos] = 3;
    }
  }
  for (auto h : hijos[pos])
    if (visitados[h] > 4) llena(h, prof + 1, forma);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> m >> cant[1] >> cant[2] >> cant[3];
  for (int i = (1); i <= (m); i++) {
    cin >> a >> b;
    hijos[a].push_back(b);
    hijos[b].push_back(a);
  }
  cont = 1;
  res = true;
  for (int i = (1); i <= (n); i++) {
    if (visitados[i] == 0) {
      grafos[cont].raiz = i;
      busca(i, 0);
      cont++;
    }
  }
  if (!res)
    cout << "NO\n";
  else {
    cont--;
    tabla[0][0] = 1;
    for (int i = (1); i <= (cont); i++) {
      for (int j = (0); j <= (5000); j++) {
        if (tabla[i - 1][j] > 0) {
          tabla[i][j + grafos[i].val2] = 2;
          tabla[i][j + grafos[i].val31] = 3;
        }
      }
    }
    if (tabla[cont][cant[2]] > 0) {
      cout << "YES\n";
      p = cant[2];
      for (a = cont; a > 0; a--) {
        if (tabla[a][p] == 2) {
          llena(grafos[a].raiz, 0, 1);
          p -= grafos[a].val2;
        } else {
          llena(grafos[a].raiz, 0, -1);
          p -= grafos[a].val31;
        }
      }
      for (int i = (1); i <= (n); i++) cout << visitados[i];
    } else
      cout << "NO\n";
  }
}
