import Control.Applicative import Control.Monad import qualified Data.ByteString.Char8 as B import Data.Maybe (fromJust) import Text.Printf import Debug.Trace readInts :: B.ByteString -> [Int] readInts = map (fst . fromJust . B.readInt) . B.words getInts :: IO [Int] getInts = liftM readInts B.getLine main = do [a,b] <- getInts [c,d] <- getInts print $ (fromIntegral (abs (a-c)) / 2.0) + (fromIntegral (abs (b-d)) / 2.0)