#include<bits/stdc++.h>
#define int long long
const int N = 2e5 + 6;
using namespace std;
int n,S,XIAN;
int a[N],h[N];
bool check(int n){
int sums = 0;
for (int i = 1; i <= n; ++i)
if (a[i] + n * h[i] >= XIAN)
sums += a[i] + n * h[i];
return (sums >= S);
}
signed main(){
scanf("%lld%lld%lld",&n,&S,&XIAN);
for (int i = 1; i <= n; ++i)
scanf("%lld",&a[i]);
for (int i = 1; i <= n; ++i)
scanf("%lld",&h[i]);
int l = 0,r = N,mid;
while(l <= r){
mid = (l + r) >> 1;
if (check(mid)) r = mid - 1;
else l = mid + 1;
}
printf("%lld",l);
return 0;
}