import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];

		for (int i=0; i<N+1; i++){
			A[i] = sc.nextInt();
		}
		for (int i=0; i<N; i++){
			B[i] = sc.nextInt();
		}
		long killTotal = 0;
		for (int i=0; i<N; i++){
			int killCnt;
			if (A[i] > B[i]){
				killCnt = B[i];
				A[i] = A[i] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i];
				A[i] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
			killCnt = 0;
			if (A[i+1] > B[i]){
				killCnt = B[i];
				A[i+1] = A[i+1] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i+1];
				A[i+1] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
		}
		System.out.println(killTotal);
	}
} 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();
		int[] A = new int[N+1];
		int[] B = new int[N];

		for (int i=0; i<N+1; i++){
			A[i] = sc.nextInt();
		}
		for (int i=0; i<N; i++){
			B[i] = sc.nextInt();
		}
		long killTotal = 0;
		for (int i=0; i<N; i++){
			int killCnt;
			if (A[i] > B[i]){
				killCnt = B[i];
				A[i] = A[i] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i];
				A[i] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
			killCnt = 0;
			if (A[i+1] > B[i]){
				killCnt = B[i];
				A[i+1] = A[i+1] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i+1];
				A[i+1] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
		}
		System.out.println(killTotal);
	}
} Main public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];

		for (int i=0; i<N+1; i++){
			A[i] = sc.nextInt();
		}
		for (int i=0; i<N; i++){
			B[i] = sc.nextInt();
		}
		long killTotal = 0;
		for (int i=0; i<N; i++){
			int killCnt;
			if (A[i] > B[i]){
				killCnt = B[i];
				A[i] = A[i] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i];
				A[i] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
			killCnt = 0;
			if (A[i+1] > B[i]){
				killCnt = B[i];
				A[i+1] = A[i+1] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i+1];
				A[i+1] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
		}
		System.out.println(killTotal);
	} main {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];

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

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];

		for (int i=0; i<N+1; i++){
			A[i] = sc.nextInt();
		}
		for (int i=0; i<N; i++){
			B[i] = sc.nextInt();
		}
		long killTotal = 0;
		for (int i=0; i<N; i++){
			int killCnt;
			if (A[i] > B[i]){
				killCnt = B[i];
				A[i] = A[i] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i];
				A[i] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
			killCnt = 0;
			if (A[i+1] > B[i]){
				killCnt = B[i];
				A[i+1] = A[i+1] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i+1];
				A[i+1] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
		}
		System.out.println(killTotal);
	}
} public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];

		for (int i=0; i<N+1; i++){
			A[i] = sc.nextInt();
		}
		for (int i=0; i<N; i++){
			B[i] = sc.nextInt();
		}
		long killTotal = 0;
		for (int i=0; i<N; i++){
			int killCnt;
			if (A[i] > B[i]){
				killCnt = B[i];
				A[i] = A[i] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i];
				A[i] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
			killCnt = 0;
			if (A[i+1] > B[i]){
				killCnt = B[i];
				A[i+1] = A[i+1] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i+1];
				A[i+1] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
		}
		System.out.println(killTotal);
	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int[] A = new int[N+1];
		int[] B = new int[N];

		for (int i=0; i<N+1; i++){
			A[i] = sc.nextInt();
		}
		for (int i=0; i<N; i++){
			B[i] = sc.nextInt();
		}
		long killTotal = 0;
		for (int i=0; i<N; i++){
			int killCnt;
			if (A[i] > B[i]){
				killCnt = B[i];
				A[i] = A[i] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i];
				A[i] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
			killCnt = 0;
			if (A[i+1] > B[i]){
				killCnt = B[i];
				A[i+1] = A[i+1] - killCnt;
				B[i] = 0;
			} else {
				killCnt = A[i+1];
				A[i+1] = 0;
				B[i] = B[i] -killCnt;
			}
			killTotal += killCnt;
		}
		System.out.println(killTotal);
	}
}