#include <bits/stdc++.h>
using namespace std;
void in(int &x) {
  register int c = getchar();
  x = 0;
  for (; (c < 48 || c > 57); c = getchar())
    ;
  for (; c > 47 && c < 58; c = getchar()) {
    x = (x << 1) + (x << 3) + c - 48;
  }
}
const int N = 1e6 + 6;
int v[N], r[N], z[N];
int main() {
  int n, k, i;
  in(n);
  in(k);
  for (i = 0; i < n; i++) {
    in(v[i]);
    v[i] *= 100;
  }
  for (i = 0; i < n; i++) in(r[i]);
  for (i = n - 1; i >= 0; i--) z[i] = min(max(v[i], z[i + 1]), r[i]);
  sort(z, z + n);
  double ret = 0, mul = k * 1.0 / n;
  for (i = 0; i < n - k + 1; i++) {
    ret += z[i] * mul;
    mul *= (n - k - i) * 1.0 / (n - i - 1);
  }
  printf("%.6lf\n", ret);
  return 0;
}
