#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;
}