// url: http://abc075.contest.atcoder.jp/tasks/abc075_d

import std.algorithm, std.conv, std.range, std.stdio, std.string;

void main()
{
  auto rd1 = readln.split.to!(int[]), n = rd1[0], k = rd1[1];
  auto x = new int[](n), y = new int[](n);
  foreach (i; 0..n) {
    auto rd2 = readln.split.to!(int[]);
    x[i] = rd2[0];
    y[i] = rd2[1];
  }

  auto xd = x.dup, ix = 0;
  xd.sort();
  auto xs = xd.uniq.array;
  
  auto yd = y.dup, iy = 0;
  yd.sort();
  auto ys = yd.uniq.array;
  

  auto nx = xs.length, ny = ys.length, ans = long.max;

  foreach (nx1; 0..nx-1)
    foreach (nx2; nx1+1..nx)
      foreach (ny1; 0..ny-1)
        foreach (ny2; ny1+1..ny) {
          auto c = 0;
          foreach (i; 0..n)
            if (x[i] >= xs[nx1] && x[i] <= xs[nx2] && y[i] >= ys[ny1] && y[i] <= ys[ny2])
              ++c;
          if (c == k) ans = min(ans, long(xs[nx2] - xs[nx1]) * long(ys[ny2] - ys[ny1]));
        }

  writeln(ans);
}
