#include<iostream>
using namespace std;
int main()
{
double a[51],b[51],xy,rt=0,zt=0,nt;
int n,i,j,x,d;
cin >>n;
for(i=1;i<=n;i++)
cin >>a[i];
for(i=1;i<=n;i++)
cin >>b[i];
cin >>xy;
for(i=1;i<=n;i++)
{
a[i]=b[i]*(a[i]/100);
rt+=a[i];
zt+=b[i];
}
for(i=1;i<=n-1;i++)
for(j=i+1;j<=n;j++)
if(a[j]/b[j]<a[i]/b[i])
{
swap(a[i],a[j]);
swap(b[i],b[j]);
}
x=1;
d=n;
nt=rt/zt;
nt*=100;
while(nt!=xy)
{
if(nt>xy)
{
zt-=b[d];
rt-=a[d];
nt=rt/zt;
nt*=100;
d--;
continue;
}
if(nt<xy)
{
zt-=b[x];
rt-=a[x];
nt=rt/zt;
nt*=100;
x++;
continue;
}
}
printf("%.5f\n",zt);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b)
{
return *(int *)b-*(int *)a;
}
int main()
{
int i,n,a[100][2],y;
double m=0.0f,v=0.0f,result=0.0f,x;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i][0]);
for(i=0;i<n;i++)
scanf("%d",&a[i][1]);
scanf("%d",&y);
qsort(a,n,sizeof(int)*2,cmp);
for(i=0;i<n;i++)
{
m+=a[i][0]*a[i][1];
v+=a[i][1];
}
if(m/v==y)result=v;
if(m/v>y)
{
for(i=0;i<n;i++)
{
x=(m-v*y)/(a[i][0]-y);
if(x<=a[i][1]){result=v-x;break;}
else
{
m-=a[i][0]*a[i][1];
v-=a[i][1];
}
}
}
else if(m/v<y)
{
for(i=n-1;i>=0;i--)
{
x=(m-v*y)/(a[i][0]-y);
if(x<=a[i][1]){result=v-x;break;}
else
{
m-=a[i][0]*a[i][1];
v-=a[i][1];
}
}
}
printf("%.5lf\n",result);
return 0;
}