import Data.Maybe
import qualified Data.ByteString.Char8 as C8

main :: IO ()
main = do
  [h, w] <- readInts
  [a, b] <- readInts
  print $ (h - a) * (w - b)

-- readInts :: IO [Int]
-- readInts = map (fst . fromJust . C8.readInt) . C8.words <$> C8.getLine

readInt = C8.readInt . C8.dropWhile isSpace
 
readInts :: Int -> B.ByteString -> [Int]
readInts n = take n . unfoldr readInt