#include <bits/stdc++.h>
long long gcd(long long a, long long b) {
  while (a && b)
    if (a > b)
      a %= b;
    else
      b %= a;
  return a + b;
}
using namespace std;
const long long inf = 1e9 + 9;
int ans, koll, k, n;
void rek(int b[], int step = 0) {
  int i, j;
  if (step == k) {
    int kol = 0;
    for (i = 0; i < n; i++)
      for (j = i + 1; j < n; j++)
        if (b[j] < b[i]) kol++;
    ans += kol;
    koll++;
    return;
  }
  for (i = 0; i < n; i++) {
    for (j = i; j < n; j++) {
      int c[11];
      for (int ii = 0; ii < n; ii++)
        if (ii >= i && ii <= j)
          c[ii] = b[j + i - ii];
        else
          c[ii] = b[ii];
      rek(c, step + 1);
    }
  }
}
int main() {
  int a[11], i;
  cin >> n >> k;
  for (i = 0; i < n; i++) cin >> a[i];
  rek(a);
  cout << fixed << setprecision(10) << (double)ans / 1. / koll;
  return 0;
}
