#include <bits/stdc++.h>
using namespace std;
int n, m[110], num[110][110], flag1[110], flag2[110];
bool judge(int x, int b) {
  memset(flag1, 0, sizeof flag1);
  memset(flag2, 0, sizeof flag2);
  for (int i = 0; i < m[x]; i++) {
    flag1[num[x][i]] = 1;
  }
  for (int i = 0; i < m[b]; i++) {
    flag2[num[b][i]] = 1;
  }
  for (int i = 0; i < 101; i++) {
    if (flag1[i] == 0 && flag2[i]) return true;
  }
  return false;
}
int main() {
  while (scanf("%d", &n) != EOF) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &m[i]);
      for (int j = 0; j < m[i]; j++) {
        scanf("%d", &num[i][j]);
      }
    }
    for (int i = 0; i < n; i++) {
      int flag = 1;
      for (int j = 0; j < n; j++) {
        if (i != j && judge(i, j) == false) {
          flag = 0;
          break;
        }
      }
      if (flag)
        printf("YES\n");
      else
        printf("NO\n");
    }
  }
  return 0;
}
