local n, k = io.read("*n", "*n")
local x, y, p = {}, {}, {}
for i = 1, n do
  x[i], y[i] = io.read("*n", "*n")
  p[i] = {x[i], y[i]}
end
table.sort(x)
table.sort(y)

local ret = false
for i = 1, n - 1 do
  for j = i + 1, n do
    local xl, xr = x[i], x[j]
    local py = {}
    for z = 1, n do
      if xl <= p[z][1] and p[z][1] <= xr then
        table.insert(py, p[z][2])
      end
    end
    if k <= #py then
      table.sort(py)
      for z = 1, #py + 1 - k do
        local yl, yr = py[z], py[z + k - 1]
        local val = 1LL * (xr - xl) * (yr - yl)
        if not ret then ret = val
        elseif val < ret then ret = val
        end
      end
    end
  end
end
local str = tostring(ret):gsub("LL", "")
print(str)
