#include<iostream>
#include<cmath>

using namespace std;

#define EPS 1e-10

struct point{
	double x;
	double y;
};

istream& operator >> ( istream& s , point& p );
double get_dot_product( const point& a , const point& b , const point& c , const point& d );

int main(void)
{
	point a, b, c, d;

	while(1)
	{
		cin >> a >> b >> c >> d;
		if( cin.eof() ) break;
		if( fabs( get_dot_product( a , b , c , d ) ) < EPS ) cout << "YES" << endl;
		else cout << "NO" << endl;
	}

	return 0;
}

istream& operator >> ( istream& s , point& p )
{
	return s >> p.x >> p.y;
}

double get_dot_product( const point& a , const point& b , const point& c , const point& d )
{
	return (a.x - b.x)*(c.x - d.x) + (a.y - b.y)*(c.y - d.y);
}