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];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  }
} 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];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    long[] a = new long[n+1];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  } main {
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    long[] a = new long[n+1];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  } 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 for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    } int i = 0; int i = 0; i 0 i<n+1 i n+1 n 1 i++ i++ i {
      a[i] = sc.nextLong();
    } {
      a[i] = sc.nextLong();
    } a[i] = sc.nextLong() a[i] a i sc.nextLong() sc.nextLong sc long[] b = new long[n]; b new long[n] n 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] b i sc.nextLong() sc.nextLong sc long max = 0l; max 0l for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    } int i = 0; int i = 0; i 0 i<n i n i++ i++ i {
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    } {
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    } if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      } a[i]>=b[i] a[i] a i b[i] b i {
        max+=b[i];
      } max+=b[i] max b[i] b i {
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      } max+=a[i] max a[i] a i b[i]-=a[i] b[i] b i a[i] a i if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        } a[i+1]>=b[i] a[i+1] a i+1 i 1 b[i] b i {
          max+=b[i];
          a[i+1]-=b[i];
        } max+=b[i] max b[i] b i a[i+1]-=b[i] a[i+1] a i+1 i 1 b[i] b i {
          max+=a[i+1];
          a[i+1]=0;
        } max+=a[i+1] max a[i+1] a i+1 i 1 a[i+1]=0 a[i+1] a i+1 i 1 0 System.out.println(max) System.out.println System.out System System.out max 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];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  }
} 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];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  }
} 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];
    for(int i = 0;i<n+1;i++){
      a[i] = sc.nextLong();
    }
    long[] b = new long[n];
    for(int i = 0;i<n;i++)b[i] = sc.nextLong();

    long max = 0l;
    for(int i = 0;i<n;i++){
      if(a[i]>=b[i]){
        max+=b[i];
      }else{
        max+=a[i];
        b[i]-=a[i];
        if(a[i+1]>=b[i]){
          max+=b[i];
          a[i+1]-=b[i];
        }else{
          max+=a[i+1];
          a[i+1]=0;
        }
      }
    }
    System.out.println(max);
  }
}
