import Control.Applicative
import Control.Monad (unless)
import System.IO (isEOF)

main = do
  eof <- isEOF
  unless eof $ do
    [xa,ya,xb,yb,xc,yc,xd,yd] <- map read.words<$>getLine
    yesOrNo $ isOrthgonal (xb-xa,yb-ya) (xd-xc,yd-yc)
    main

isOrthgonal :: (Double, Double) -> (Double, Double) -> Bool
isOrthgonal (x1,y1) (x2,y2) = abs (x1*x2 + y1*y2) <= 0.00001
yesOrNo p = if p then putStrLn "YES"
                 else putStrLn "NO"