#include <bits/stdc++.h>
using namespace std;
using namespace rel_ops;
const double PI = acos((double)-1);
int ts, ts2, ts3, ts4;
int n, m, K, a[1005], b[1005], bcj[1005], in[1005], key[1005];
map<string, int> nam;
int getf(int x) {
  int rot, t;
  for (rot = x; bcj[rot] != rot; rot = bcj[rot])
    ;
  for (; bcj[x] != rot; t = bcj[x], bcj[x] = rot, x = t)
    ;
  return rot;
}
long long gcd(long long x, long long y) {
  long long t;
  for (; y != 0;) {
    t = x % y;
    x = y;
    y = t;
  }
  return x;
}
int cano1[1005], cano2[1005];
void unio(int x, int y) {
  getf(x);
  getf(y);
  bcj[bcj[x]] = bcj[y];
}
void work() {
  int i, j, k, l, t1, t2, t3, t4, t5, t6, t7, t8, t9, t, nw;
  (memset((cano1), 0, sizeof((cano1))));
  for (i = 1; i <= n; i++) bcj[i] = i;
  for (;;) {
    t1 = 0;
    for (i = 1; i <= m; i++)
      if (cano1[i] == 0) {
        t2 = getf(key[i]);
        if (getf(a[i]) == t2 || getf(b[i]) == t2) {
          unio(a[i], b[i]);
          t1 = 1;
          cano1[i] = 1;
        }
      }
    if (!t1) break;
  }
}
void kaeru() {
  printf("NO");
  exit(0);
}
void seikou() {
  printf("YES\n");
  exit(0);
}
int main() {
  int i, j, k, l, t1, t2, t3, t4, t5, t6, t7, t8, t9, t, nw;
  int tt1, tt2, tt3, tt4;
  double u1, u2, u3, u4, u5, u6, u7, u8, u9;
  char c1, c2, c3;
  string str;
  srand((unsigned)time(0));
  cin >> n >> m >> K;
  for (i = 1; i <= m; i++) cin >> a[i] >> b[i];
  for (i = 1; i <= K; i++) {
    cin >> str;
    nam[str] = i;
    cin >> in[i] >> t1;
    for (j = 1; j <= t1; j++) {
      cin >> t2;
      key[t2] = in[i];
    }
  }
  work();
  memcpy(cano2, cano1, sizeof(cano2));
  for (i = 1; i <= n; i++) getf(i);
  for (i = 1; i <= K; i++) {
    cin >> str;
    int i2 = nam[str];
    cin >> t2 >> t1;
    if (getf(in[i2]) != getf(t2)) kaeru();
    in[i2] = t2;
    for (j = 1; j <= t1; j++) {
      cin >> t3;
      if (getf(t2) != getf(key[t3])) kaeru();
      key[t3] = t2;
    }
  }
  work();
  for (i = 1; i <= m; i++)
    if (cano1[i] != cano2[i]) {
      kaeru();
    }
  seikou();
  return 0;
}
