#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#define INF (1<<21)
#define swap(a,b) {a=a+b; b=a-b; a=a-b;}
#define abs(a) (a > 0 ? a:-a)
#define min(a,b) {a > b ? b:a}
#define max(a,b) {a > b ? a:b}
using namespace std;

#define E 0.000000001
void q58() {
	double ax, ay, bx, by, cx, cy, dx, dy;
	for (; cin >> ax >> ay >> bx >> by >> cx >> cy >> dx >> dy;) {
		double slope1, slope2;

		if (ax - bx == 0.0 || ay - by == 0.0 || cx - dx == 0 || cy -dy == 0.0) {
			if (ax - bx == 0.0 && cy - dy == 0.0) {
				cout << "Yes" << endl;
			}
			else if (cx - dx == 0.0 && ay - by == 0.0) {
				cout << "Yes" << endl;
			}
			else {
				cout << "No" << endl;
			}
			continue;
		}

		slope1 = (ay - by) / (ax - bx);
		slope2 = (cy - dy) / (cx - dx);
		if (abs(slope1 + (1 / slope2))  < E) {
			cout << "Yes" << endl;
		}
		else {
			cout << "No" << endl;
		}
	}
}
int main() {
	q58();
	return 0;
}