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

        sc.close();
	}
} 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; i++) {
			A[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			B[i] = sc.nextInt();
		}
		
		long  num = 0;
		
		/*
		for(int i = 0; i < N; i++) {
			if(B[i] >= A[i]) {
				num += A[i];
				B[i] -= A[i];
			} else {
				num += B[i];
				B[i] = 0;
			}
			
			if(B[i] >= A[i+1]) {
				num += A[i+1];
				A[i+1] = 0;
			} else {
				num += B[i];
				A[i+1] -= B[i];
			}
		}
		*/
		
		for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		}
		
		
		System.out.println(num);

        sc.close();
	}
} 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; i++) {
			A[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			B[i] = sc.nextInt();
		}
		
		long  num = 0;
		
		/*
		for(int i = 0; i < N; i++) {
			if(B[i] >= A[i]) {
				num += A[i];
				B[i] -= A[i];
			} else {
				num += B[i];
				B[i] = 0;
			}
			
			if(B[i] >= A[i+1]) {
				num += A[i+1];
				A[i+1] = 0;
			} else {
				num += B[i];
				A[i+1] -= B[i];
			}
		}
		*/
		
		for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		}
		
		
		System.out.println(num);

        sc.close();
	} 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; i++) {
			A[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			B[i] = sc.nextInt();
		}
		
		long  num = 0;
		
		/*
		for(int i = 0; i < N; i++) {
			if(B[i] >= A[i]) {
				num += A[i];
				B[i] -= A[i];
			} else {
				num += B[i];
				B[i] = 0;
			}
			
			if(B[i] >= A[i+1]) {
				num += A[i+1];
				A[i+1] = 0;
			} else {
				num += B[i];
				A[i+1] -= B[i];
			}
		}
		*/
		
		for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		}
		
		
		System.out.println(num);

        sc.close();
	} 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; i++) {
			A[i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i <= N i N 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  num = 0; num 0 for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		} int i = N; int i = N; i N i >= 0 i 0 i-- i-- i {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		} {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		} if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			} i != N i N {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			} if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				} A[i] <= B[i] A[i] A i B[i] B i {
					num += A[i];
					A[i] = 0;
				} num += A[i] num A[i] A i A[i] = 0 A[i] A i 0 {
					num += B[i];
					A[i] -= B[i];
				} num += B[i] num B[i] B i A[i] -= B[i] A[i] A i B[i] B i if(i == 0) break; i == 0 i 0 break; if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			} A[i] <= B[i-1] A[i] A i B[i-1] B i-1 i 1 {
				num += A[i];
				B[i-1] -= A[i];
			} num += A[i] num A[i] A i B[i-1] -= A[i] B[i-1] B i-1 i 1 A[i] A i {
				num += B[i-1];
				B[i-1] = 0;
			} num += B[i-1] num B[i-1] B i-1 i 1 B[i-1] = 0 B[i-1] B i-1 i 1 0 System.out.println(num) System.out.println System.out System System.out num sc.close() sc.close sc 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; i++) {
			A[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			B[i] = sc.nextInt();
		}
		
		long  num = 0;
		
		/*
		for(int i = 0; i < N; i++) {
			if(B[i] >= A[i]) {
				num += A[i];
				B[i] -= A[i];
			} else {
				num += B[i];
				B[i] = 0;
			}
			
			if(B[i] >= A[i+1]) {
				num += A[i+1];
				A[i+1] = 0;
			} else {
				num += B[i];
				A[i+1] -= B[i];
			}
		}
		*/
		
		for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		}
		
		
		System.out.println(num);

        sc.close();
	}
} 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; i++) {
			A[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			B[i] = sc.nextInt();
		}
		
		long  num = 0;
		
		/*
		for(int i = 0; i < N; i++) {
			if(B[i] >= A[i]) {
				num += A[i];
				B[i] -= A[i];
			} else {
				num += B[i];
				B[i] = 0;
			}
			
			if(B[i] >= A[i+1]) {
				num += A[i+1];
				A[i+1] = 0;
			} else {
				num += B[i];
				A[i+1] -= B[i];
			}
		}
		*/
		
		for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		}
		
		
		System.out.println(num);

        sc.close();
	}
} 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; i++) {
			A[i] = sc.nextInt();
		}
		
		for(int i = 0; i < N; i++) {
			B[i] = sc.nextInt();
		}
		
		long  num = 0;
		
		/*
		for(int i = 0; i < N; i++) {
			if(B[i] >= A[i]) {
				num += A[i];
				B[i] -= A[i];
			} else {
				num += B[i];
				B[i] = 0;
			}
			
			if(B[i] >= A[i+1]) {
				num += A[i+1];
				A[i+1] = 0;
			} else {
				num += B[i];
				A[i+1] -= B[i];
			}
		}
		*/
		
		for(int i = N; i >= 0; i--) {
			
			if(i != N) {
				if(A[i] <= B[i]) {
					num += A[i];
					A[i] = 0;
				} else {
					num += B[i];
					A[i] -= B[i];
				}
			}
			
			if(i == 0) break;
			
			if(A[i] <= B[i-1]) {
				num += A[i];
				B[i-1] -= A[i];
			} else {
				num += B[i-1];
				B[i-1] = 0;
			}
		}
		
		
		System.out.println(num);

        sc.close();
	}
}