import java.util.Scanner; class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int H = sc.nextInt(); int[] A = new int[N]; for(int i=0;i<N;i++) A[i] = sc.nextInt(); long[] sumA = new long[N+1]; for(int i=0;i<N;i++) sumA[i+1] = sumA[i]+A[i]; long[] B = new long[N]; for(int i=0;i<N;i++) B[i] = sc.nextInt(); long[] sumB = new long[N+1]; for(int i=0;i<N;i++) sumB[i+1] = sumB[i]+B[i]; long ans = 0; long now = 0; int r = 0; for(int l=0;l<N;l++){ if(B[l]>H) continue; while(r<N&&now+B[r]*(r-l+1)<=H){ now += B[r]*(r-l+1); r++; } ans = Math.max(ans,sumA[r]-sumA[l]); now -= sumB[r]-sumB[l]; r = Math.max(r,l+1); } System.out.println(ans); } }