An e-commerce startup pitches to the investors to get funding. They have been functional for *n* weeks now and also have a website!

For each week they know the number of unique visitors during this week *v*<sub class="lower-index">*i*</sub> and the revenue *c*<sub class="lower-index">*i*</sub>. To evaluate the potential of the startup at some range of weeks from *l* to *r* inclusive investors use the minimum among the maximum number of visitors multiplied by 100 and the minimum revenue during this period, that is: 

The truth is that investors have no idea how to efficiently evaluate the startup, so they are going to pick some *k* random distinct weeks *l*<sub class="lower-index">*i*</sub> and give them to managers of the startup. For each *l*<sub class="lower-index">*i*</sub> they should pick some *r*<sub class="lower-index">*i*</sub> ≥ *l*<sub class="lower-index">*i*</sub> and report maximum number of visitors and minimum revenue during this period.

Then, investors will calculate the potential of the startup for each of these ranges and take minimum value of *p*(*l*<sub class="lower-index">*i*</sub>, *r*<sub class="lower-index">*i*</sub>) as the total evaluation grade of the startup. Assuming that managers of the startup always report the optimal values of *r*<sub class="lower-index">*i*</sub> for some particular *l*<sub class="lower-index">*i*</sub>, i.e., the value such that the resulting grade of the startup is maximized, what is the expected resulting grade of the startup?
The first line of the input contains two integers *n* and *k* (1 ≤ *k* ≤ *n* ≤ 1 000 000).

The second line contains *n* integers *v*<sub class="lower-index">*i*</sub> (1 ≤ *v*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">7</sup>) — the number of unique visitors during each week.

The third line contains *n* integers *c*<sub class="lower-index">*i*</sub> (1 ≤ *c*<sub class="lower-index">*i*</sub> ≤ 10<sup class="upper-index">7</sup>) —the revenue for each week.
Consider the first sample.

If the investors ask for *l*<sub class="lower-index">*i*</sub> = 1 onwards, startup will choose *r*<sub class="lower-index">*i*</sub> = 1, such that max number of visitors is 3 and minimum revenue is 300. Thus, potential in this case is *min*(3·100, 300) = 300.

If the investors ask for *l*<sub class="lower-index">*i*</sub> = 2 onwards, startup will choose *r*<sub class="lower-index">*i*</sub> = 3, such that max number of visitors is 2 and minimum revenue is 200. Thus, potential in this case is *min*(2·100, 200) = 200.

If the investors ask for *l*<sub class="lower-index">*i*</sub> = 3 onwards, startup will choose *r*<sub class="lower-index">*i*</sub> = 3, such that max number of visitors is 1 and minimum revenue is 300. Thus, potential in this case is *min*(1·100, 300) = 100.

We have to choose a set of size 2 equi-probably and take minimum of each. The possible sets here are : {200, 300},{100, 300},{100, 200}, effectively the set of possible values as perceived by investors equi-probably: {200, 100, 100}. Thus, the expected value is (100 + 200 + 100) / 3 = 133.(3).
# You lost the game.
n,k = map(int, input().split())
V = list(map(int, input().split()))
C = list(map(int, input().split()))

Mv = [V[0] for _ in range(n)]
for i in range(1,n):
    Mv[i] = max(Mv[i-1],V[i])
mc = [C[0] for _ in range(n)]
for i in range(1,n):
    mc[i] = min(mc[i-1],C[i])
R = [min(100*Mv[i],mc[i]) for i in range(n)]
R.sort()

def fact(n):
    if n <= 1:
        return 1
    else:
        return n*fact(n-1)

def binom(n,k):
    return fact(n)//(fact(k)*fact(n-k))

total = binom(n,k)
s = 0

for i in range(n-k):
    s += R[i]*binom(n-1-i,k-1)

print(s/total)
