import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    	
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    }
    
}
 import java.util.ArrayList; ArrayList java.util 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();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    }
    
} Main public static void main(String[] args) {
    	
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    } main {
    	
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc ArrayList<Integer> list_m = new ArrayList<Integer>(); list_m new ArrayList<Integer>() ArrayList<Integer> list_y = new ArrayList<Integer>(); list_y new ArrayList<Integer>() for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		} int i = 0 ; int i = 0 ; i 0 i < N+1 i N+1 N 1 i++ i++ i {
			list_m.add(sc.nextInt());
			
		} {
			list_m.add(sc.nextInt());
			
		} list_m.add(sc.nextInt()) list_m.add list_m sc.nextInt() sc.nextInt sc for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		} int i = 0 ; int i = 0 ; i 0 i < N i N i++ i++ i {
			list_y.add(sc.nextInt());
			
		} {
			list_y.add(sc.nextInt());
			
		} list_y.add(sc.nextInt()) list_y.add list_y sc.nextInt() sc.nextInt sc long cnt = 0; cnt 0 for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		} int i = 0 ; int i = 0 ; i 0 i < N i N i++ i++ i {
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		} {
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		} if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			} list_m.get(i) > list_y.get(i) list_m.get(i) list_m.get list_m i list_y.get(i) list_y.get list_y i {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			} cnt = cnt + list_y.get(i) cnt cnt + list_y.get(i) cnt list_y.get(i) list_y.get list_y i list_m.set(i, list_m.get(i)-list_y.get(i)) list_m.set list_m i list_m.get(i)-list_y.get(i) list_m.get(i) list_m.get list_m i list_y.get(i) list_y.get list_y i list_y.set(i, 0) list_y.set list_y i 0 {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			} cnt = cnt + list_m.get(i) cnt cnt + list_m.get(i) cnt list_m.get(i) list_m.get list_m i list_y.set(i, list_y.get(i)-list_m.get(i)) list_y.set list_y i list_y.get(i)-list_m.get(i) list_y.get(i) list_y.get list_y i list_m.get(i) list_m.get list_m i list_m.set(i, 0) list_m.set list_m i 0 if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			} list_m.get(i+1) > list_y.get(i) list_m.get(i+1) list_m.get list_m i+1 i 1 list_y.get(i) list_y.get list_y i {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			} cnt = cnt + list_y.get(i) cnt cnt + list_y.get(i) cnt list_y.get(i) list_y.get list_y i list_m.set(i+1, list_m.get(i+1)-list_y.get(i)) list_m.set list_m i+1 i 1 list_m.get(i+1)-list_y.get(i) list_m.get(i+1) list_m.get list_m i+1 i 1 list_y.get(i) list_y.get list_y i list_y.set(i, 0) list_y.set list_y i 0 {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			} cnt = cnt + list_m.get(i+1) cnt cnt + list_m.get(i+1) cnt list_m.get(i+1) list_m.get list_m i+1 i 1 list_y.set(i, list_y.get(i)-list_m.get(i+1)) list_y.set list_y i list_y.get(i)-list_m.get(i+1) list_y.get(i) list_y.get list_y i list_m.get(i+1) list_m.get list_m i+1 i 1 list_m.set(i+1, 0) list_m.set list_m i+1 i 1 0 System.out.println(cnt) System.out.println System.out System System.out cnt sc.close() sc.close sc return ; String[] args args public class Main {

    public static void main(String[] args) {
    	
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    }
    
} public class Main {

    public static void main(String[] args) {
    	
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    }
    
} Main
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    	
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		
		ArrayList<Integer> list_m = new ArrayList<Integer>();//モンスター
		ArrayList<Integer> list_y = new ArrayList<Integer>();//討伐数


		for(int i = 0 ;i < N+1;i++){
			list_m.add(sc.nextInt());
			
		}
		for(int i = 0 ;i < N;i++){
			list_y.add(sc.nextInt());
			
		}

		long cnt = 0;
		for(int i = 0 ;i < N;i++){
			if(list_m.get(i) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i, list_m.get(i)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i);
				list_y.set(i, list_y.get(i)-list_m.get(i));
				list_m.set(i, 0);
			}

			if(list_m.get(i+1) > list_y.get(i)) {
				cnt = cnt + list_y.get(i);
				list_m.set(i+1, list_m.get(i+1)-list_y.get(i));
				list_y.set(i, 0);
			}else {
				cnt = cnt + list_m.get(i+1);
				list_y.set(i, list_y.get(i)-list_m.get(i+1));
				list_m.set(i+1, 0);
			}

		}

		
		
		
		
		
		
		
		
		
		
		
		
		
		System.out.println(cnt);

   		sc.close();
        return ;

    }
    
}

