#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
#include <utility>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <map>
#include <set>
 
using namespace std;
 
#define pb(n)	push_back(n)
#define mp(n,m) make_pair(n,m)
#define fi 	first
#define se 	second
#define all(r) r.begin(),r.end()

#define rep(i,n) for(int i=0; i<(n); i++)
#define repc(i,a,b) for(int i=(a); i<=(b); i++)

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
 
const int IMAX=((1<<30)-1)*2+1;
const double EPS=1e-10;
//int mod=1000000007;



int main(){
	double xa,ya,xb,yb,xc,yc,xd,yd;
	double xab,yab,xcd,ycd;
	while(cin>>xa>>ya>>xb>>yb>>xc>>yc>>xd>>yd){
		xab=xb-xa;
		yab=yb-ya;
		xcd=xd-xc;
		ycd=yd-yc;
		if(fabs(xab*xcd+yab*ycd)<EPS)cout<<"YES"<<endl;
		else cout<<"NO"<<endl;
	}
}