import Control.Applicative
import Control.Monad
import Data.List

main = do
  [n, k] <- map read . words <$> getLine
  xy <- map (map read) . map words <$> replicateM n getLine
  print $ solve xy k

solve :: [[Int]] -> Int -> Int
solve xy k = minimum . map (\(x1, y1, x2, y2) -> (x2 - x1) * (y2 - y1)) . filter ((>= k) . count xy) $ bs
  where
    [xs, ys] = transpose xy
    bs = [(x1, y1, x2, y2) | x1 <- xs, x2 <- xs, y1 <- ys, y2 <- ys, x1 < x2, y1 < y2]

count :: [[Int]] -> (Int, Int, Int, Int) -> Int
count xy (x1, y1, x2, y2) = length . filter (\[x, y] -> x1 <= x && x <= x2 && y1 <= y && y <= y2) $ xy