#include <bits/stdc++.h>
using namespace std;
int n, k;
double dp[205][35][35];
vector<int> p;
pair<int, int> rev(int x, int y, int rx, int ry) {
  if (x >= rx && x <= ry) {
    x = rx + (ry - rx) - (x - rx);
  }
  if (y >= rx && y <= ry) {
    y = rx + (ry - rx) - (y - rx);
  }
  return make_pair(x, y);
}
int main() {
  cin >> n >> k;
  p.resize(n);
  for (int i = 0; i < n; i++) {
    cin >> p[i];
  }
  for (int i = 0; i < n; i++) {
    for (int j = i; j < n; j++) {
      dp[0][i][j] = 1.0;
    }
  }
  double pp = 2.0 / (n * (n + 1));
  for (int q = 1; q <= k; q++) {
    for (int i = 0; i < n; i++) {
      for (int j = i; j < n; j++) {
        for (int k = 0; k < n; k++) {
          for (int l = k; l < n; l++) {
            pair<int, int> xy = rev(i, j, k, l);
            if (xy.first < xy.second) {
              dp[q][i][j] += dp[q - 1][xy.first][xy.second] * pp;
            } else {
              dp[q][i][j] += (1.0 - dp[q - 1][xy.second][xy.first]) * pp;
            }
          }
        }
      }
    }
  }
  double ans = 0;
  for (int i = 0; i < n; i++) {
    for (int j = i + 1; j < n; j++) {
      if (p[i] < p[j]) {
        ans += 1.0 - dp[k][i][j];
      } else {
        ans += dp[k][i][j];
      }
    }
  }
  printf("%.9lf\n", ans);
  return 0;
}
