#include<iostream>
#include<cmath>
#include<algorithm>
const long long MAXN=100000001;
using namespace std;
long long n;
long long s;
long long d;
long long a[MAXN];
long long b[MAXN];
bool ch(long long c)
{
long long sum=0;
for(int i=1;i<=n;i++)
{
if(d<=b[i]+a[i]*c)
{
sum+=a[i]*c+b[i];
}
if(s<=sum)
{
break;
}
}
if(s<=sum)
{
return true;
}
else
{
return false;
}
}
int main()
{
cin>>n>>s>>d;
for(int i=1;i<=n;i++)
{
cin>>b[i];
}
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
long long l=0;
long long r=1000000000000000001;
while(l<=r)
{
long long mid=(l+r)/2;
if(ch(mid)==true)
{
r=mid-1;
}
else
{
l=mid+1;
}
}
cout<<l;
return 0;
}