#include <cstdio>
#include <vector>
#include <algorithm>
#include <cstring>
#include <string>
#include <cctype>
#include <sstream>
#include <cmath>
#include <climits>
#include <set>
#include <iostream>
#include <map>
#include <functional>

using namespace std;

#define reep(i,f,n) for(int i=f; i<int(n); ++i)
#define rep(i,n) reep(i,0,n)

const double EPS = 1e-10;

typedef vector<int> vi;

int main()
{
	double xa, ya, xb, yb, xc, yc, xd, yd;

	while(scanf("%lf%lf%lf%lf%lf%lf%lf%lf", &xa, &ya, &xb, &yb, &xc, &yc, &xd, &yd) != EOF)
		puts(fabs((xa-xb)*(xc-xd)+(ya-yb)*(yc-yd)) < EPS ? "YES" : "NO");

	return 0;
}