#include <bits/stdc++.h>
using namespace std;
vector<int> ans;
int a[6];
int n, k;
void upd() {
  int res = 0;
  for (int i = 0; i < n; i++)
    for (int j = i + 1; j < n; j++)
      if (a[j] < a[i]) res++;
  ans.push_back(res);
}
void gen(int step) {
  if (step == k) {
    upd();
    return;
  }
  for (int l = 0; l < n; l++)
    for (int r = l; r < n; r++) {
      for (int k = 0; l + k < r - k; k++) swap(a[l + k], a[r - k]);
      gen(step + 1);
      for (int k = 0; l + k < r - k; k++) swap(a[l + k], a[r - k]);
    }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  gen(0);
  int sum = 0;
  for (int i = 0; i < ans.size(); i++) sum += ans[i];
  cout << fixed;
  cout << setprecision(10);
  cout << (double)sum / ans.size();
  return 0;
}
