#include <bits/stdc++.h>
using namespace std;
vector<int> vc;
int dp[1000099];
int ara[1000099], ara2[1000099], much[1000099][21], les[1000099][21];
int main() {
  int i, j, k, l, m, n, take, am;
  scanf("%d%d", &n, &take);
  for (j = 1; j <= n; j++) {
    scanf("%d", &ara[j]);
    ara[j] = ara[j] * 100;
  }
  for (j = 1; j <= n; j++) {
    scanf("%d", &ara2[j]);
  }
  for (i = n; i >= 1; i--) {
    dp[i] = min(max(ara[i], dp[i + 1]), ara2[i]);
    vc.push_back(dp[i]);
  }
  sort(vc.begin(), vc.end());
  double ans = 0;
  double pro = take;
  for (i = 1; n - i >= take - 1; i++) {
    int d = n - take - i + 2;
    if (d <= (n - take)) {
      pro *= d;
    }
    pro /= (n - i + 1);
    ans += (pro * vc[i - 1]);
  }
  printf("%.10lf\n", ans);
}
