rt
#define int unsigned long long
#define MAX 200000000
using namespace std;
int H[MAX],A[MAX];
bool check(int x,int n,int l,int s)
{
int sum = 0;
for(int i = 1;i <= n;i ++)
{
if(H[i] + A[i] * x >= l)
sum += H[i] + A[i] * x;
}
return sum >= s;
}
signed main()
{
int N,S,L;
cin >> N >> S >> L;
for(int i = 1;i <= N;i ++)
{
cin >> H[i];
}
for(int i = 1;i <= N;i ++)
{
cin >> A[i];
}
int l = 1,r = MAX,mid,ans = 0;
while(l <= r)
{
mid = (l + r) / 2;
if(check(mid,N,L,S))
{
ans = mid;
r = mid - 1;
}
else
{
l = mid + 1;
}
}
cout << ans;
return 0;
}