def gcd(m, n)
    if m < n
        gcd(n, m)
    elsif n == 0
        m
    else
        gcd(n, m % n)
    end
end

def lcm(m, n)
    m * n / gcd(m, n)
end

n, m = gets.split.map(&:to_i)
num = gets.split.map(&:to_i)
prob = gets.split.map(&:to_i).map {|x| x / 100.0}

exp = 0
(1..2**n-1).each do |x|
    a = (0..n-1).select {|i| x[i] == 1}
    q = a.map {|i| prob[i]}.inject(:*)
    k = m / a.map {|i| num[i]}.inject{|s,x| lcm(s, x)}
    exp += (a.size.odd? ? 1 : -1) * k * q
end
printf("%.9f\n", exp)