import java.util.Scanner;

public class Main {

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    }

    public static int calcMin(int A, int B, int C, int X, int Y) {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	}

} import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    }

    public static int calcMin(int A, int B, int C, int X, int Y) {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	}

} Main public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    } main {
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int A = sc.nextInt(); A sc.nextInt() sc.nextInt sc int B = sc.nextInt(); B sc.nextInt() sc.nextInt sc int C = sc.nextInt(); C sc.nextInt() sc.nextInt sc int X = sc.nextInt(); X sc.nextInt() sc.nextInt sc int Y = sc.nextInt(); Y sc.nextInt() sc.nextInt sc System.out.println(calcMin(A, B, C, X, Y)) System.out.println System.out System System.out calcMin(A, B, C, X, Y) calcMin A B C X Y String[] args args public static int calcMin(int A, int B, int C, int X, int Y) {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	} calcMin {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	} int total = 0; total 0 int pattern1 pattern1 pattern2 pattern2 pattern3; pattern3 pattern1 = A * X + B * Y pattern1 A * X + B * Y A * X A X B * Y B Y total = pattern1 total pattern1 pattern2 = 2 * C * X pattern2 2 * C * X 2 * C * X 2 C X if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		} X < Y X Y {
			pattern2 = pattern2 + (Y-X) * B;
		} pattern2 = pattern2 + (Y-X) * B pattern2 pattern2 + (Y-X) * B pattern2 (Y-X) * B (Y-X) Y X B total = Integer.min(total, pattern2) total Integer.min(total, pattern2) Integer.min Integer total pattern2 pattern3 = 2 * C * Y pattern3 2 * C * Y 2 * C * Y 2 C Y if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		} X > Y X Y {
			pattern3 = pattern3 + (X-Y) * A;
		} pattern3 = pattern3 + (X-Y) * A pattern3 pattern3 + (X-Y) * A pattern3 (X-Y) * A (X-Y) X Y A total = Integer.min(total, pattern3) total Integer.min(total, pattern3) Integer.min Integer total pattern3 return total; total int A A int B B int C C int X X int Y Y public class Main {

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    }

    public static int calcMin(int A, int B, int C, int X, int Y) {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	}

} public class Main {

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    }

    public static int calcMin(int A, int B, int C, int X, int Y) {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	}

} Main
import java.util.Scanner;

public class Main {

    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        int A = sc.nextInt();
		int B = sc.nextInt();
		int C = sc.nextInt();
		int X = sc.nextInt();
		int Y = sc.nextInt();
        System.out.println(calcMin(A, B, C, X, Y));
    }

    public static int calcMin(int A, int B, int C, int X, int Y) {
		int total = 0;

    	int pattern1, pattern2, pattern3;

    	// パターン１：全部AとBピザでまかなう
		pattern1 = A * X + B * Y;

		total = pattern1;

		// パターン２：ABピザでAピザを全てまかなう
		pattern2 = 2 * C * X;
		if (X < Y) {
			pattern2 = pattern2 + (Y-X) * B;
		}

    	total = Integer.min(total, pattern2);

		// パターン３：ABピザでBピザを全てまかなう
		pattern3 = 2 * C * Y;
		if (X > Y) {
			pattern3 = pattern3 + (X-Y) * A;
		}

		total = Integer.min(total, pattern3);

		return total;
	}

}
