B. Самое маленькое число
ограничение по времени на тест
2 seconds
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

В очередной раз получив кол по алгебре, Володя решил поупражняться в арифметике. Для этого он выписал на доску четыре целых числа a, b, c, d и в течение трех минут каждую минуту заменял какие-то два числа (не обязательно соседних) на доске на их сумму или произведение. В итоге он получил одно число, но из-за плохой памяти забыл какое. Несмотря на это, Володя помнит исходные числа, последовательность произведенных им операций, а также свое удивление от того, насколько маленьким получился результат. Помогите Володе вспомнить забытое число: определите, какое минимальное число можно получить из данных чисел данными операциями.

Входные данные

Первая строка содержит четыре целых числа, разделенные пробелом: 0 ≤ a, b, c, d ≤ 1000 — числа, выписанные Володей. Вторая строка содержит последовательность из трех символов "+" и "*", разделенных пробелом — операции в том порядке, в котором их производил Володя. ("+" соответствует сложению, "*" — умножению.)

Выходные данные

Выведите единственное целое число — минимальное число, которое Володя мог получить.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать поток cin (также вы можете использовать спецификатор %I64d).

Примеры
Входные данные
1 1 1 1
+ + *
Выходные данные
3
Входные данные
2 2 2 2
* * +
Выходные данные
8
Входные данные
1 2 3 4
* + +
Выходные данные
9