#include <bits/stdc++.h>
using namespace std;
const int N = 2000050;
int n, k, a[10], tot, num;
void dfs(int m) {
  if (m == 0) {
    tot++;
    for (int i = 1; i < ((n) + 1); i++)
      for (int j = i + 1; j < ((n) + 1); j++)
        if (a[i] > a[j]) num++;
    return;
  } else {
    for (int l = 1; l < ((n) + 1); l++)
      for (int r = l; r < ((n) + 1); r++) {
        reverse(a + l, a + r + 1);
        dfs(m - 1);
        reverse(a + l, a + r + 1);
      }
  }
}
int main(int argc, const char* argv[]) {
  scanf("%d%d", &n, &k);
  for (int i = 1; i < ((n) + 1); i++) scanf("%d", &a[i]);
  dfs(k);
  printf("%.9lf\n", 1.0 * num / tot);
  return 0;
}
