#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;

struct vec {
    double x;
    double y;
};


struct point {
    double x;
    double y;
};

bool isOrthogonal(vec a, vec b)
{
    if(a.x * b.x - a.y * b.y ==0)
        return true;
    else
        return false;
}

int main()
{
    vec bar_a, bar_b;
    point a, b, c, d;
    while(cin
            >> a.x >> a.y
            >> b.x >> b.y
            >> c.x >> c.y
            >> d.x >> d.y
        )
    {
        bar_a.x = b.x -a.x;
        bar_a.y = b.y -a.y;

        bar_b.x = d.x -c.x;
        bar_b.y = d.y -c.y;
        if(isOrthogonal(bar_a, bar_b))
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
    }

    return EXIT_SUCCESS;
}