#include <bits/stdc++.h>
using namespace std;
const double EPS = 1E-14;
const long long mod = 1000000007;
using namespace std;
int n, k;
int a[8];
long long ans = 0;
void reverse(int l, int r) {
  for (int k = l; k <= (r + l) / 2; k++) {
    swap(a[k], a[r - (k - l)]);
  }
}
void go(int step) {
  if (step == k) {
    long long t = 0;
    for (int i = 0; i < n; i++)
      for (int j = i; j < n; j++)
        if (a[i] > a[j]) t++;
    ans += t;
    return;
  }
  for (int i = 0; i < n; i++)
    for (int j = i; j < n; j++) {
      reverse(i, j);
      go(step + 1);
      reverse(i, j);
    }
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  go(0);
  long long nn = (n * (n + 1)) / 2;
  long long t = 1;
  for (int i = 0; i < k; i++) t *= nn;
  cout << fixed << setprecision(12) << (long double)ans / t;
  cout << endl;
  return 0;
}
