#include<bits/stdc++.h>
using namespace std;
unsigned long long h[200001],a[200001],m,t,x,n,l,r;
const long long maxn=1e18;
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>n>>m>>x;
for(unsigned long long i=1;i<=n;i++){
cin>>h[i];
}
for(unsigned long long i=1;i<=n;i++){
cin>>a[i];
}
r=maxn;
while(l<=r){
unsigned long long mid=(l+r)/2;
unsigned long long sum=0;
for(unsigned long long i=1;i<=n;i++){
if(h[i]+a[i]*mid>=x) sum+=h[i]+a[i]*mid;
if(sum>=m) break;
}
if(sum>=m){
r=mid-1;
}
else{
l=mid+1;
}
}
cout<<l<<'\n';
return 0;
}