#include<bits/stdc++.h>
#define int long long

using namespace std;

const int N=2e5+5;

int n,k;
int a[N],b[N];
int dp[N][2];

signed main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    for(int i=1;i<=n;i++) cin>>b[i];
    for(int i=1;i<=n;i++) dp[i][0]=dp[i][1]=-1;
    dp[1][0]=a[1];
    for(int i=2;i<=n;i++)
    {
        if(dp[i-1][0]!=-1) dp[i][0]=dp[i-1][0]+a[i];
        if(dp[i-1][1]!=-1) dp[i][1]=dp[i-1][1]+b[i];
        if(dp[i-1][0]>=k) dp[i][1]=max(dp[i-1][0]+b[i]-k,dp[i][1]);
        if(dp[i-1][1]>=k) dp[i][0]=max(dp[i-1][1]+a[i]-k,dp[i][0]);
    }  
    cout<<max(dp[n][0],dp[n][1]);
    return 0;
}