#include <bits/stdc++.h>
using namespace std;
double res = 0;
int A[10], ctos, k, x, y;
void aslo(int quedan, double prob) {
  if (quedan == 0) {
    int son = 0;
    for (int i = 1; i <= ctos; i++) {
      for (int e = i; e <= ctos; e++) {
        if (A[i] > A[e]) ++son;
      }
    }
    res = res + son * prob;
    return;
  }
  for (int i = 1; i <= ctos; i++) {
    for (int e = i; e <= ctos; e++) {
      x = i;
      y = e;
      while (x <= y) {
        swap(A[x], A[y]);
        ++x;
        --y;
      }
      aslo(quedan - 1, prob * 2 / ctos / (ctos + 1));
      x = i;
      y = e;
      while (x <= y) {
        swap(A[x], A[y]);
        ++x;
        --y;
      }
    }
  }
}
int main() {
  scanf("%d%d", &ctos, &k);
  for (int i = 1; i <= ctos; i++) {
    scanf("%d", &A[i]);
  }
  aslo(k, 1);
  printf("%.10f\n", res);
  return 0;
}
