#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,s,L,ans;
int h[2000005];
int a[2000005];
bool check(int d)
{
unsigned long long cnt=0;
for(int i=1;i<=n;i++)
{
if(a[i]+d*h[i]>=L)
{
cnt+=a[i]+d*h[i];
}
}
return cnt>=s;
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin>>n>>s>>L;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=n;i++)
{
cin>>h[i];
}
int l=0,r=1e18;
while(l<=r)
{
int mid=l+r>>1;
if(check(mid))
{
ans=mid;
r=mid-1;
}
else
{
l=mid+1;
}
}
cout<<ans;
return 0;
}