#include <bits/stdc++.h>
using namespace std;
class sp {
 public:
  int q, e, r;
  sp *w;
  sp(int q1, sp *w1, int e1, int r1) {
    q = q1;
    w = w1;
    e = e1;
    r = r1;
  }
};
int sost[200001], h[200001], h1[200001], i = 1 << 30;
int s[200000], f[200000], f1[200000];
sp *a[200000];
int k(int w) {
  if (f[w] != w) f[w] = k(f[w]);
  return f[w];
}
void l(int q, int w, int t) {
  s[q] = t;
  sp *c;
  int e = q;
  for (c = a[q]; c; c = c->w)
    if (c->e != w) {
      if (s[c->q] == -1) l(c->q, c->e, t + 1);
      if ((s[k(c->q)] > 0) && (s[e] > s[k(c->q)])) e = k(c->q);
    }
  if (e != q) f1[e] += f1[q];
  f[q] = e;
  s[q] = -2;
}
void m(int q, int w) {
  sp *c;
  s[q] = 0;
  for (c = a[q]; c; c = c->w)
    if (c->e != w) {
      if (sost[c->e] != 0) continue;
      sost[c->e] = c->r;
      if (s[c->q]) m(c->q, c->e);
    }
}
int main() {
  int q, w, e, r, t, c, v, b;
  scanf("%d%d", &q, &w);
  for (e = 1; e <= w; e++) {
    h[e] = -1;
    sost[e] = 0;
  }
  for (e = 0; e < q; e++) {
    a[e] = 0;
    f[e] = e;
    f1[e] = 1;
    s[e] = -1;
  }
  for (e = 0; e < q; e++) {
    scanf("%d", &r);
    for (c = 0; c < r; c++) {
      b = 1;
      scanf("%d", &v);
      if (v < 0) {
        b = -1;
        v = -v;
      }
      if (h[v] == -1) {
        h[v] = e;
        h1[v] = b;
      } else {
        if (b == h1[v]) {
          sost[v] = b;
          f1[h[v]]++;
          f1[e]++;
          h[v] = -2;
          continue;
        }
        a[e] = new sp(h[v], a[e], v, -b);
        a[h[v]] = new sp(e, a[h[v]], v, b);
        h[v] = -2;
      }
    }
  }
  for (e = 1; e <= w; e++) {
    if (h[e] == -1) sost[e] = 1;
    if (h[e] >= 0) {
      sost[e] = h1[e];
      f1[h[e]]++;
    }
  }
  for (e = 0; e < q; e++)
    if (s[e] == -1) l(e, 0, 1);
  for (e = 0; e < q; e++) s[e] = 1;
  for (e = 0; e < q; e++)
    if ((f1[k(e)] > 1) && (s[e] == 1)) m(e, 0);
  for (e = 1; e <= w; e++)
    if (sost[e] == 0) {
      printf("NO");
      return 0;
    }
  printf("YES\n");
  for (e = 1; e <= w; e++) printf("%d", max(sost[e], 0));
  return 0;
}
