#include<bits/stdc++.h> using namespace std; #define mk(x,y) ((x-1)*100+(y)) int fa[10005],cnt[10005],c2[10005]; int findfather(int x){ return x==fa[x]?x:fa[x]=findfather(fa[x]); } int main(){ int T=1; while(T--){ int N=10000; for(int i=1;i<=N;++i)fa[i]=i,cnt[i]=1,c2[i]=0; int n; scanf("%d",&n); for(int i=1;i<=n;++i){ int u1,v1,u2,v2; scanf("%d%d%d%d",&u1,&v1,&u2,&v2); int x=mk(u1,v1),y=mk(u2,v2); int fx=findfather(x),fy=findfather(y); if(fx!=fy){ fa[fx]=fy;cnt[fy]+=cnt[fx];c2[fy]+=c2[fx]; } ++c2[fy]; } int fl=1; for(int i=1;i<=N;++i)if(fa[i]==i){ if(c2[i]>cnt[i])fl=0; } puts(fl?"YES":"NO"); } return 0; }