#include <bits/stdc++.h>
using namespace std;
long long a[1000000];
long long b[1000000];
long n,m;
bool check(long long x){
long long sum=0;
for(int i=1;i<=n;i++){
if(x-a[i]>b[i]) return false;
sum+=max(x-a[i],(long long)0);
}
if(sum<=m) return true;
return false;
;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
scanf("%lld",&a[i]);
}
for(int i=0;i<m;i++){
scanf("%lld",&b[i]);
}
long long l=0;
long long r=1e8;
long long cnt=0;
while(l<=r){
int mid=(l+r)/2;
if(check(mid)){
cnt=mid;
l=mid+1;
}else{
r=mid-1;
}
}
printf("%d\n",cnt);
return 0;
}