import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		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 A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		sc.close();
		 }
		} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		sc.close();
		 } main {
		Scanner sc = new Scanner(System.in);
		int A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		sc.close();
		 } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int A_cnt = sc.nextInt(); A_cnt sc.nextInt() sc.nextInt sc int B_cnt = sc.nextInt(); B_cnt sc.nextInt() sc.nextInt sc int C_cnt = sc.nextInt(); C_cnt sc.nextInt() sc.nextInt sc int D_cnt = sc.nextInt(); D_cnt sc.nextInt() sc.nextInt sc int A_1 = 1; A_1 1 int B_zero = 0; B_zero 0 int C_mainas = -1; C_mainas -1 1 int[] data = new int[3]; data new int[3] 3 data[0] = 0 data[0] data 0 0 data[1] = 0 data[1] data 1 0 data[2] = 0 data[2] data 2 0 for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		} int i = 0; int i = 0; i 0 D_cnt > 0 && A_cnt > 0 D_cnt > 0 D_cnt 0 A_cnt > 0 A_cnt 0 i++ i++ i {
			D_cnt--;
			A_cnt--;
			data[0]++;
		} {
			D_cnt--;
			A_cnt--;
			data[0]++;
		} D_cnt-- D_cnt A_cnt-- A_cnt data[0]++ data[0] data 0 for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		} int i = 0; int i = 0; i 0 D_cnt > 0 && B_cnt > 0 D_cnt > 0 D_cnt 0 B_cnt > 0 B_cnt 0 i++ i++ i {
			D_cnt--;
			B_cnt--;
			data[1]++;
		} {
			D_cnt--;
			B_cnt--;
			data[1]++;
		} D_cnt-- D_cnt B_cnt-- B_cnt data[1]++ data[1] data 1 for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		} int i = 0; int i = 0; i 0 D_cnt > 0 && C_cnt > 0 D_cnt > 0 D_cnt 0 C_cnt > 0 C_cnt 0 i++ i++ i {
			D_cnt--;
			C_cnt--;
			data[2]++;
		} {
			D_cnt--;
			C_cnt--;
			data[2]++;
		} D_cnt-- D_cnt C_cnt-- C_cnt data[2]++ data[2] data 2 int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2]; Total A_1 * data[0] + B_zero * data[1] + C_mainas * data[2] A_1 * data[0] + B_zero * data[1] + C_mainas * data[2] A_1 * data[0] A_1 data[0] data 0 B_zero * data[1] B_zero data[1] data 1 C_mainas * data[2] C_mainas data[2] data 2 System.out.println(Total) System.out.println System.out System System.out Total sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		sc.close();
		 }
		} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		sc.close();
		 }
		} Main
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int A_cnt = sc.nextInt();
		int B_cnt = sc.nextInt();
		int C_cnt = sc.nextInt();
		int D_cnt = sc.nextInt();
		//初期値設定
		int A_1 = 1;
		int B_zero = 0;
		int C_mainas = -1;

		//入力されたデータを配列に代入しておく
		int[] data = new int[3];
		data[0] = 0; //A
		data[1] = 0; //B
		data[2] = 0; //C

		//最大値演算
		//数値が大きい順にカウントしていく
		//D回文繰り返す。
		for(int i = 0;D_cnt > 0 && A_cnt > 0 ; i++) {
			D_cnt--;
			A_cnt--;
			data[0]++;
		}
		for(int i = 0;D_cnt > 0 && B_cnt > 0 ; i++) {
			D_cnt--;
			B_cnt--;
			data[1]++;
		}
		for(int i = 0;D_cnt > 0 && C_cnt > 0 ; i++) {
			D_cnt--;
			C_cnt--;
			data[2]++;
		}
		int Total = A_1 * data[0] + B_zero * data[1] + C_mainas * data[2];
		System.out.println(Total);
		sc.close();
		 }
		}