#include<bits/stdc++.h>
using namespace std;


typedef pair<int, int> P;


const int W = 100;
const int MAX = 1e5+100;

vector<int> G[MAX];
int vis[MAX];
int cnt;


void dfs(int a, int b){
	vis[a] = 1;
	for(int x : G[a]){
		if(x == b)
			continue;
		if(vis[x]){
			cnt++;
			continue;
		}

		dfs(x, a);
	}
}

int main() {
	int n;
	cin >> n;
	
	int r1, c1, r2, c2;
	vector<P> edge;
	for(int i=0; i<n; i++){
		cin >> r1 >> c1 >> r2 >> c2;
		r1--; c1--; r2--; c2--;

		int a = r1 * W + c1;
		int b = r2 * W + c2;
		G[a].push_back(b);
		G[b].push_back(a);
		edge.push_back(P(a, b));
	}

	for(int i=0;i<MAX;i++){
		if(vis[i])
			continue;

		cnt = 0;
		dfs(i, -1);
		if (cnt >= 4) {
			cout << "NO" << endl;
			return 0;
		}
	}

	cout << "YES" << endl;
	return 0;
}