#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const long long BIG = 1446803456761533460;
const int Big = 336860180;
stringstream sss;
const int maxn = 100;
const int maxk = 1000;
int n, K;
int ar[maxn];
double dp[maxk][maxn][maxn];
inline int C2(int x) { return x * (x - 1) / 2; }
void MAIN() {
  cin >> n >> K;
  K = min(K, (maxk - 1));
  for (int i = (0); i < (n); ++i) cin >> ar[i];
  for (int i = (0); i < (n); ++i) {
    for (int j = (i + 1); j < (n); ++j) {
      if (ar[i] > ar[j]) dp[0][i][j] = C2(n + 1);
    }
  }
  for (int k = (0); k < (K); ++k) {
    for (int i = (0); i < (n); ++i) {
      for (int j = (i + 1); j < (n); ++j) {
        dp[k][i][j] /= C2(n + 1);
        dp[k + 1][i][j] += dp[k][i][j] * (C2(i + 1) + C2(j - i) + C2(n - j));
        for (int c = ((i + 1) / 2); c < ((i + j + 1) / 2); ++c) {
          dp[k + 1][c * 2 - i][j] +=
              dp[k][i][j] * min(j - max(i, c * 2 - i), min(i, c * 2 - i) + 1);
        }
        for (int c = (i / 2); c < ((i + j) / 2); ++c) {
          dp[k + 1][c * 2 - i + 1][j] +=
              dp[k][i][j] *
              min(j - max(i, c * 2 - i + 1), min(i, c * 2 - i + 1) + 1);
        }
        for (int c = ((i + j) / 2); c < ((n + j + 1) / 2); ++c) {
          dp[k + 1][i][c * 2 - j] +=
              dp[k][i][j] * min(min(j, c * 2 - j) - i, n - max(j, c * 2 - j));
        }
        for (int c = ((i + j + 1) / 2); c < ((n + j + 2) / 2); ++c) {
          dp[k + 1][i][c * 2 - j + 1] +=
              dp[k][i][j] *
              min(min(j, c * 2 - j + 1) - i, n - max(j, c * 2 - j + 1));
        }
        for (int c = ((j + 1) / 2); c < ((n + i + 2) / 2); ++c) {
          dp[k + 1][c * 2 - j][c * 2 - i] +=
              (1 - dp[k][i][j]) *
              min(min(i, c * 2 - j) + 1, n - max(j, c * 2 - i));
        }
        for (int c = (j / 2); c < ((n + i + 1) / 2); ++c) {
          dp[k + 1][c * 2 - j + 1][c * 2 - i + 1] +=
              (1 - dp[k][i][j]) *
              min(min(i, c * 2 - j + 1) + 1, n - max(j, c * 2 - i + 1));
        }
      }
    }
  }
  double ans = 0;
  for (int i = (0); i < (n); ++i)
    for (int j = (i + 1); j < (n); ++j) ans += dp[K][i][j];
  cout << ans / C2(n + 1) << '\n';
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cout << fixed << setprecision(10);
  sss << R"(
10 1000
10 2 3 4 5 6 7 8 9 1
7 8 3 9 2 5 1 4 10 6
    )";
  MAIN();
  return 0;
}
