/*
TASK:socks
LaNG:C++
*/
#include<iostream.h>
#include<iomanip.h>
int main()
{
	int P,K,d[30];
	double c[31],l=1.00,e[30];
	cin>>P>>K;    d[0]=1;
	for(int i=1; i<=P; i++)
	 cin>>d[i];
	for(int p=0; p<=P; p++)
	 cin>>c[p];
	for(int k=0; k<P; k++)
	{
		e[k]=d[k+1]*l;
		l*=d[k+1];
	}
	l=e[P-1];      int t;
	for(int j=P-1; j>=0; j--)
	{
		if(l>=K) {t=j;break;}
		l+=e[j];
	}
	l=c[P];
	for(int o=P-1; o>t; o--)
	 l+=c[o];
	cout<<l<<".00";
	return 0;
}