#include <bits/stdc++.h>
using namespace std;
double dp[31][31][211];
int n;
double B(int i, int j, int k) {
  if (k == 0) return (i < j ? 1 : 0);
  if (dp[i][j][k] != -1) return dp[i][j][k];
  dp[i][j][k] = 0;
  double &ret = dp[i][j][k];
  double p = 2;
  p /= n;
  p /= (n + 1);
  for (int x = 1; x <= n; x++) {
    for (int y = x + 1; y <= n; y++) {
      int nx = i;
      int ny = j;
      if (x <= i and i <= y) nx = x + y - i;
      if (x <= j and j <= y) ny = x + y - j;
      ret += p * B(nx, ny, k - 1);
    }
  }
  ret += n * B(i, j, k - 1) * p;
  return ret;
}
int main() {
  int k;
  cin >> n >> k;
  int a[n + 1];
  for (int i = 0; i < n; i++) cin >> a[i + 1];
  for (int i = 0; i < n + 1; i++)
    for (int j = 0; j < n + 1; j++)
      for (int l = 0; l < k + 1; l++) dp[i][j][l] = -1;
  double ans = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = i + 1; j <= n; j++) {
      if (a[i] < a[j]) {
        ans += (1.0 - B(i, j, k));
      } else if (a[i] > a[j]) {
        ans += B(i, j, k);
      }
    }
  }
  printf("%.10f", ans);
}
