#include using namespace std; using ll = long long; constexpr char newl = '\n'; constexpr ll INF = 1e17; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int n; ll K; cin >> n >> K; vector a(n), b(n); for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { cin >> b[i]; } vector dp(n, INF); dp[0] = 0; ll ans = 0; for (int i = 1; i < n; i++) { dp[i] = min(dp[i], dp[i - 1] + a[i - 1] + b[i]); if (i > 1) dp[i] = min(dp[i], dp[i - 2] + a[i - 2] + b[i] + K); //cerr << dp[i] << newl; ans = max(ans, dp[i]); } cout << ans << newl; return 0; }