/*
TASK:socks
LANG:C++
*/
#include <iostream>
using namespace std;
int main ()
{
int i,j,n,k,ost,br[40];
float s=0.0,c[40];
scanf("%d%d",&n,&k);
br[0]=1;
for(i=1;i<=n;i++)scanf("%d",&br[i]);
for(i=0;i<=n;i++)
                 scanf("%f",&c[i]);
for(i=1;i<=n;i++)br[i]*=br[i-1];
s=(float)(k/br[n])*c[n];
ost=k-(k/br[n])*br[n];/*
for(i=n-1;i>0;i++)
                  {
                   s+=ost/br[i]*c[i];
                   if(ost%br[i]==0){printf("%f\n",s);return 0;}
                   ost/=br[i];
                   }*/
s+=(ost/br[n-1]+1)*c[n-1];
printf("%.2f\n",s);
}

