#include <bits/stdc++.h>
using namespace std;
long long n, k, v[1000006], c[1000006], curv, curc, ans[1000006], vm[1000006],
    cm[1000006];
stack<long long> smax, smin;
long double e, cur;
int main() {
  ios::sync_with_stdio(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> v[i];
    v[i] *= 100;
  }
  for (int i = 0; i < n; i++) {
    cin >> c[i];
  }
  vm[n - 1] = v[n - 1];
  cm[n - 1] = c[n - 1];
  smax.push(vm[n - 1]);
  smin.push(cm[n - 1]);
  ans[n - 1] = min(vm[n - 1], cm[n - 1]);
  for (int i = n - 2; i >= 0; i--) {
    vm[i] = v[i];
    cm[i] = c[i];
    while (!smax.empty() && (smin.top() >= cm[i] || smin.top() > vm[i])) {
      vm[i] = max(vm[i], smax.top());
      cm[i] = min(cm[i], smin.top());
      smax.pop();
      smin.pop();
    }
    smax.push(vm[i]);
    smin.push(cm[i]);
    ans[i] = min(vm[i], cm[i]);
  }
  sort(ans, ans + n);
  cur = 1.0 * k / n;
  e = cur * ans[0];
  for (int i = 1; i < n - k + 1; i++) {
    cur *= 1 - 1.0 * (k - 1) / (n - i);
    e += cur * ans[i];
  }
  cout << setprecision(11) << e;
}
