#include <iostream>
#include <cmath>

using namespace std;

constexpr double EPS = 1.0e-6;

struct Vec2 {
    const float x, y;

    Vec2 (float xx, float yy)
        : x(xx), y(yy) {}

    float operator * (Vec2 other) const
    {
        return (x * other.x + y * other.y);
    }
};

int main()
{
    float xa, ya, xb, yb, xc, yc, xd, yd;
    while (cin >> xa >> ya >> xb >> yb >> xc >> yc >> xd >> yd) {
        Vec2 line01(xb - xa, yb - ya);
        Vec2 line02(xd - xc, yd - yc);

        float dot = line01 * line02;

        cout << ((abs(dot) < EPS)? "YES": "NO") << endl;
    }

    return 0;
}