import 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 count = 0;

        for(int i = 0; i < N; i++) {
            if (B[i] >= (A[i] + A[i+1])) {
                count += (A[i]+A[i+1]);
                A[i+1] = 0;
            }
            if((B[i] > A[i]) && (B[i] < (A[i] + A[i+1]))) {
                count += B[i];
                A[i+1] -= (B[i] - A[i]);
            }
            if(B[i] <= A[i]){
                count += B[i];
            }
        }
        sc.close();
        System.out.println(count);        
    }
} import java.util.*; util.* java 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 count = 0;

        for(int i = 0; i < N; i++) {
            if (B[i] >= (A[i] + A[i+1])) {
                count += (A[i]+A[i+1]);
                A[i+1] = 0;
            }
            if((B[i] > A[i]) && (B[i] < (A[i] + A[i+1]))) {
                count += B[i];
                A[i+1] -= (B[i] - A[i]);
            }
            if(B[i] <= A[i]){
                count += B[i];
            }
        }
        sc.close();
        System.out.println(count);        
    }
} 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 count = 0;

        for(int i = 0; i < N; i++) {
            if (B[i] >= (A[i] + A[i+1])) {
                count += (A[i]+A[i+1]);
                A[i+1] = 0;
            }
            if((B[i] > A[i]) && (B[i] < (A[i] + A[i+1]))) {
                count += B[i];
                A[i+1] -= (B[i] - A[i]);
            }
            if(B[i] <= A[i]){
                count += B[i];
            }
        }
        sc.close();
        System.out.println(count);        
    } 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 count = 0;

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

        for(int i = 0; i < N; i++) {
            if (B[i] >= (A[i] + A[i+1])) {
                count += (A[i]+A[i+1]);
                A[i+1] = 0;
            }
            if((B[i] > A[i]) && (B[i] < (A[i] + A[i+1]))) {
                count += B[i];
                A[i+1] -= (B[i] - A[i]);
            }
            if(B[i] <= A[i]){
                count += B[i];
            }
        }
        sc.close();
        System.out.println(count);        
    }
} 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 count = 0;

        for(int i = 0; i < N; i++) {
            if (B[i] >= (A[i] + A[i+1])) {
                count += (A[i]+A[i+1]);
                A[i+1] = 0;
            }
            if((B[i] > A[i]) && (B[i] < (A[i] + A[i+1]))) {
                count += B[i];
                A[i+1] -= (B[i] - A[i]);
            }
            if(B[i] <= A[i]){
                count += B[i];
            }
        }
        sc.close();
        System.out.println(count);        
    }
} Main
import 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 count = 0;

        for(int i = 0; i < N; i++) {
            if (B[i] >= (A[i] + A[i+1])) {
                count += (A[i]+A[i+1]);
                A[i+1] = 0;
            }
            if((B[i] > A[i]) && (B[i] < (A[i] + A[i+1]))) {
                count += B[i];
                A[i+1] -= (B[i] - A[i]);
            }
            if(B[i] <= A[i]){
                count += B[i];
            }
        }
        sc.close();
        System.out.println(count);        
    }
}