#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<pair<int, int> > nach(4);
  vector<pair<int, int> > kon(4);
  set<pair<int, int> > s;
  set<int> y;
  set<int> x;
  int px = 0, py = 0;
  for (int i(0); i < 4; i++) {
    cin >> nach[i].first >> nach[i].second >> kon[i].first >> kon[i].second;
    s.insert(nach[i]);
    y.insert(nach[i].second);
    y.insert(kon[i].second);
    x.insert(nach[i].first);
    x.insert(kon[i].first);
    s.insert(kon[i]);
  }
  if (x.size() != 2 || y.size() != 2) {
    cout << "NO";
    return 0;
  }
  if (s.size() == 4) {
    for (int i(0); i < 3; i++) {
      for (int j(i + 1); j < 4; j++) {
        if ((nach[i].second == nach[j].second &&
             nach[i].first == nach[j].first && kon[i].first == kon[j].first &&
             kon[i].second == kon[j].second) ||
            (nach[i].first == kon[j].first && nach[i].second == kon[j].second &&
             kon[i].first == nach[j].first &&
             kon[i].second == nach[j].second)) {
          cout << "NO";
          return 0;
        }
      }
    }
    for (int i(0); i < 4; i++) {
      if (nach[i].first != kon[i].first) {
        if (nach[i].second != kon[i].second) {
          cout << "NO";
          return 0;
        }
      }
      if (nach[i].first == kon[i].first) {
        if (nach[i].second == kon[i].second) {
          cout << "NO";
          return 0;
        }
      }
      if (nach[i].second == kon[i].second) {
        if (nach[i].first == kon[i].first) {
          cout << "NO";
          return 0;
        }
      }
      if (nach[i].second != kon[i].second) {
        if (nach[i].first != kon[i].first) {
          cout << "NO";
          return 0;
        }
      }
    }
    cout << "YES";
  } else
    cout << "NO";
}
