Problem:
Score : 400 points

Problem Statement

We have N points in a two-dimensional plane.

The coordinates of the i-th point (1 \leq i \leq N) are (x_i,y_i).

Let us consider a rectangle whose sides are parallel to the coordinate axes that contains K or more of the N points in its interior.

Here, points on the sides of the rectangle are considered to be in the interior.

Find the minimum possible area of such a rectangle.

Constraints

2 \leq K \leq N \leq 50

-10^9 \leq x_i,y_i \leq 10^9 (1 \leq i \leq N)

x_i≠x_j (1 \leq i<j \leq N)

y_i≠y_j (1 \leq i<j \leq N)

All input values are integers. (Added at 21:50 JST)

Input

Input is given from Standard Input in the following format:

N K
x_1 y_1
:
x_{N} y_{N}

Output

Print the minimum possible area of a rectangle that satisfies the condition.

Sample Input 1

4 4
1 4
3 3
6 2
8 1

Sample Output 1

21

One rectangle that satisfies the condition with the minimum possible area has the following vertices: (1,1), (8,1), (1,4) and (8,4).

Its area is (8-1) × (4-1) = 21.

Sample Input 2

4 2
0 0
1 1
2 2
3 3

Sample Output 2

1

Sample Input 3

4 3
-1000000000 -1000000000
1000000000 1000000000
-999999999 999999999
999999999 -999999999

Sample Output 3

3999999996000000001

Watch out for integer overflows.

Solution in Ruby (2.3.3) (judge verdict: Time Limit Exceeded)

require 'pp'
# IS_DEBUG = true
IS_DEBUG = false
def dputs str
	if(IS_DEBUG)
		puts str
	end
end
def dpp str
	if(IS_DEBUG)
		pp str
	end
end


INT_MAX = 1000000001

N,K=gets.chomp.split(' ').map{|n| n.to_i}
X=Array.new(N)
Y=Array.new(N)
0.upto(N-1){|i|
	X[i],Y[i]=gets.chomp.split(' ').map{|n| n.to_i}
}
x_min = X.min
x_max = X.max
y_min = Y.min
y_max = Y.max

s_min = 2000000000 * 2000000000 
X.each{|x_s|
	X.each{|x_t|
		Y.each{|y_s|
			Y.each{|y_t|
				dputs "(#{x_s}, #{x_t}, #{y_s}, #{y_t})"
				cnt=0
				0.upto(N-1){|i|
					if(x_s <= X[i] && X[i] <= x_t && y_s <= Y[i] && Y[i] <= y_t)
						cnt += 1
					end
				}
				dputs "cnt = #{cnt}"
				if(cnt >= K)
					dputs "hit!"
					s = (x_t-x_s)*(y_t-y_s)
					if(s < s_min)
						s_min = s
					end
				end
			}
		}
	}
}
puts s_min