#include <bits/stdc++.h>
using namespace std;
int N;
double C;
double dp[100][100][201];
double f(int a, int b, int k) {
  if (k == 0) return a > b ? 1 : 0;
  double& ans = dp[a][b][k];
  if (ans >= 0) return ans;
  ans = 0;
  for (int i = (0); i < (N); i++)
    for (int j = (0); j < (N); j++)
      if (i <= j) {
        int na;
        if (a < i || a > j)
          na = a;
        else
          na = j - (a - i);
        int nb;
        if (b < i || b > j)
          nb = b;
        else
          nb = j - (b - i);
        ans += C * f(na, nb, k - 1);
      }
  return ans;
}
int main() {
  for (int i = (0); i < (100); i++)
    for (int j = (0); j < (100); j++)
      for (int k = (0); k < (201); k++) dp[i][j][k] = -1;
  int K;
  scanf("%d", &(N));
  scanf("%d", &(K));
  int arr[N];
  for (int i = (0); i < (N); i++) scanf("%d", &(arr[i]));
  double tcount = 0;
  for (int i = (0); i < (N); i++)
    for (int j = (i); j < (N); j++) tcount++;
  C = 1 / tcount;
  double ans = 0;
  for (int i = (0); i < (N); i++)
    for (int j = (0); j < (N); j++) {
      if (arr[i] < arr[j]) ans += f(i, j, K);
    }
  printf("%.18f\n", ans);
}
