#include <bits/stdc++.h>
using namespace std;
template <class T, class L>
bool smax(T& x, L y) {
  return x < y ? (x = y, 1) : 0;
}
template <class T, class L>
bool smin(T& x, L y) {
  return y < x ? (x = y, 1) : 0;
}
const int maxn = 17 << 1, maxk = 17 << 4;
long double p[maxk][maxn][maxn];
int n, k, a[maxn];
int main() {
  ios::sync_with_stdio(0), cin.tie(0);
  cin >> n >> k;
  long double E = 2. / n / (n + 1);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < i; j++) p[0][i][j] = 1;
  for (int t = 1; t <= k; t++)
    for (int i = 0; i < n; i++)
      for (int j = 0; j < n; j++)
        for (int l = 0; l < n; l++)
          for (int r = l; r < n; r++) {
            int nxi = i, nxj = j;
            if (l <= i && i <= r) nxi = l + r - i;
            if (l <= j && j <= r) nxj = l + r - j;
            p[t][i][j] += E * p[t - 1][nxi][nxj];
          }
  long double res = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    for (int j = 0; j < i; j++)
      if (a[i] < a[j])
        res += 1 - p[k][j][i];
      else
        res += p[k][j][i];
  }
  cout << fixed << setprecision(17) << res << '\n';
  return 0;
}
