import 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];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    }
} import java.util.*; util.* java 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];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    }
} 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];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    } main {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        long[] A = new long[N+1];
        long[] B = new long[N];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    } 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 long result = 0; result 0 for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        } int i=0; int i=0; i 0 i<=N i N 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 for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        } int i=0; int i=0; i 0 i<N i N i++ i++ i {
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        } {
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        } long d1 = Math.min(A[i], B[i]); d1 Math.min(A[i], B[i]) Math.min Math A[i] A i B[i] B i result += d1 result d1 A[i] -= d1 A[i] A i d1 B[i] -= d1 B[i] B i d1 long d2 = Math.min(A[i+1], B[i]); d2 Math.min(A[i+1], B[i]) Math.min Math A[i+1] A i+1 i 1 B[i] B i result += d2 result d2 A[i+1] -= d2 A[i+1] A i+1 i 1 d2 B[i] -= d2 B[i] B i d2 System.out.println(result) System.out.println System.out System System.out result 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];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    }
} 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];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    }
} Main
import 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];
        long result = 0;
        for(int i=0; i<=N; i++){
          A[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
          B[i]=sc.nextLong();
        }
        for(int i=0; i<N; i++){
           long d1 = Math.min(A[i], B[i]);
           result += d1;
           A[i] -= d1;
           B[i] -= d1;
 
           long d2 = Math.min(A[i+1], B[i]);
           result += d2;
           A[i+1] -= d2;
           B[i] -= d2;
        }
        System.out.println(result);
    }
}