import std.stdio;
import std.string;
import std.conv;
import std.algorithm;
import std.array;
import std.range;
import std.bigint;

void main()
{
    auto input = readln.chomp.split.to!(int[]);
    auto N = input[0];
    auto K = input[1];
    
    auto x = new long[N];
    auto y = new long[N];
    foreach(i ; 0..N){
        auto input2 = readln.chomp.split.to!(long[]);
        x[i] = input2[0];
        y[i] = input2[1];
    }

    sort(zip(x, y));
    long mi0 = 1 << 30;
    long ma0 = 1 << 30;
    foreach(i ; 0 .. K){
        mi0 = min(mi0, y[i]);
        ma0 = max(ma0, y[i]);
    }
    long s = (x[K - 1] - x[0]) * (ma0 - mi0);
    foreach(i ; K - 1 .. N){
        long mi = 1 << 30;
        long ma = -(1 << 30);
        foreach(j ; (i - K + 1) .. (i + 1)){
            mi = min(mi, y[j]);
            ma = max(ma, y[j]);
        }
        s = min(s, (x[i] - x[i - K + 1]) * (ma - mi));
    }
    s.writeln;
}