#include <cstdio>
int deg[405],n,h;
bool e[405][405],u[405],ans=1,flag;
void dfs(int x){
	if (!u[x] || !ans) return;
	u[x]=0;
	if (x>h && deg[x]<0) ans=0;
	if (x<=h && deg[x]>0) ans=0;
	if (deg[x]) flag=1;
	for (int i=1;i<=h*2;i++)
		if (e[x][i]) dfs(i);
}
int main(){
	scanf("%d%d",&n,&h);
	for (int i=1;i<=n;i++){
		int a,b,c,d;
		scanf("%d%d%d%d",&a,&b,&c,&d);
		a=c?-c+h+1:a+h;b=d?d+h:-b+h+1;
		deg[a]++;deg[b]--;
		e[a][b]=e[b][a]=u[a]=u[b]=1;
	}
	for (int i=1;i<=h*2 && ans;i++)
	if (u[i]){
		flag=0;dfs(i);
		if (!flag) ans=0;
	}
	if (ans) printf("YES\n");
		else printf("NO\n");
}