
import java.util.Scanner;


public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc long[] A = new long[N+1]; A new long[N+1] N+1 N 1 long[] B = new long[N]; B new long[N] N for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		} int i = 0; int i = 0; i 0 i < N+1 i N+1 N 1 i++ i++ i {
			A[i] = sc.nextLong();
		} {
			A[i] = sc.nextLong();
		} A[i] = sc.nextLong() A[i] A i sc.nextLong() sc.nextLong sc for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			B[i] = sc.nextLong();
		} {
			B[i] = sc.nextLong();
		} B[i] = sc.nextLong() B[i] B i sc.nextLong() sc.nextLong sc long ans = 0; ans 0 for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		} int i = N - 1; int i = N - 1; i N - 1 N 1 i >= 0 i 0 i-- i-- i {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		} {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		} if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			} A[i+1] >= B[i] A[i+1] A i+1 i 1 B[i] B i {
				A[i+1] -= B[i];
				ans+=B[i];
			} A[i+1] -= B[i] A[i+1] A i+1 i 1 B[i] B i ans+=B[i] ans B[i] B i {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			} B[i] -= A[i+1] B[i] B i A[i+1] A i+1 i 1 ans += A[i+1] ans A[i+1] A i+1 i 1 A[i+1] = 0 A[i+1] A i+1 i 1 0 if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				} A[i] >= B[i] A[i] A i B[i] B i {
					A[i] -= B[i];
					ans+=B[i];
				} A[i] -= B[i] A[i] A i B[i] B i ans+=B[i] ans B[i] B i {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				} B[i] -= A[i] B[i] B i A[i] A i ans += A[i] ans A[i] A i A[i] = 0 A[i] A i 0 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	}
} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	}
} Main

import java.util.Scanner;


public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		long[] A = new long[N+1];
		long[] B = new long[N];

		for (int i = 0; i < N+1; i++) {
			A[i] = sc.nextLong();
		}

		for (int i = 0; i < N; i++) {
			B[i] = sc.nextLong();
		}

		long ans = 0;

		for (int i = N - 1; i >= 0 ; i--) {
			if (A[i+1] >= B[i]) {
				A[i+1] -= B[i];
				ans+=B[i];
			}else {
				B[i] -= A[i+1];
				ans += A[i+1];
				A[i+1] = 0;
				if (A[i] >= B[i]) {
					A[i] -= B[i];
					ans+=B[i];
				}else {
					B[i] -= A[i];
					ans += A[i];
					A[i] = 0;
				}
			}
		}

		System.out.println(ans);

	}
}
