#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;
}