// Arup Guha
// 11/26/2020
// Solution to 2019 NAIPC Problem: Piece of Cake

import java.util.*;

public class pieceofcake {

	public static void main(String[] args) {
	
		Scanner stdin = new Scanner(System.in);
		int n = stdin.nextInt();
		int k = stdin.nextInt();
		
		// Read in pts.
		double[][] pts = new double[n][2];
		for (int i=0; i<n; i++)
			for (int j=0; j<2; j++)
				pts[i][j] = stdin.nextDouble();
		
		// fallFact[i] = P(i,k-2)/P(n,k)
		double[] fallFact = new double[n+1];
		
		// I can be slow here.
		for (int x=k-2; x<=n; x++) {

			// Calculating C(x,k-2)/C(n,k)...but off by C(k,2) which I fix later.
			fallFact[x] = 1.0;
			for (int y=0; y<k; y++) {
				fallFact[x] /= (n-y);
				if (y >= k-2) continue;
				fallFact[x] *= (x-y);
			}
		}
		
		double res = 0;
		
		// Consider all triangles with edge i to j.
		for (int i=0; i<n; i++) {
			for (int j=i+1; j<n; j++) {
			
				// The term in question for this edge going forward.
				double term = pts[i][0]*pts[j][1] - pts[i][1]*pts[j][0];
			
				// Added triangles are the ones where we choose k-2 vertices from vertex j
				// going back around towards vertex i.
				double add = fallFact[n-(j-i+1)];
				
				// Subtracted triangles are ones where we choose k-2 vertices from vertex i to j.
				double sub = fallFact[j-i-1];
				res += (term*(add-sub));
			}
		}
		
		// Okay, so because of how I loop, I forgot to multiply the result by C(k,2), which I
		// do here...
		System.out.println(Math.abs(res)*k*(k-1)/2);
	}
}