#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define all(x) x.begin(),x.end()
#define dbg(x) cout<<#x<<":"<<x<<endl
typedef long long ll;
typedef pair<ll,ll> P;
typedef pair<ll,P> PP;

vector<int> g[222222];
int used[222222];

void dfs(int n=0){
  if(used[n])return;
  used[n]=1;
  for(int i=0;i<g[n].size();i++)dfs(g[n][i]);
}

int main(){
  int n,m;
  cin>>n>>m;
  
  for(int i=0;i<n;i++){
    int k;
    cin>>k;
    for(int j=0;j<k;j++){
	 int l;
	 cin>>l;
	 l--;
	 g[n+l].pb(i);
	 g[i].pb(n+l);
    }
  }

  dfs();
  
  bool ans=true;
  for(int i=0;i<n;i++){
    if(used[i])continue;
    ans=false;
  }
  
  cout<<(ans?"YES":"NO")<<endl;
  
  return 0;
}
