#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
char ops[3];
ll ans = LLONG_MAX;
void dfs(vector<ll> v, int dep){
if(v.size() == 1){
ans = min(ans, v[0]);
return;
}
for(int i = 0; i < (int)v.size(); i++){
for(int j = i + 1; j < (int)v.size(); j++){
vector<ll> nv;
for(int t = 0; t < (int)v.size(); t++)
if(t != i && t != j) nv.push_back(v[t]);
ll r = (ops[dep] == '+') ? v[i] + v[j] : v[i] * v[j];
nv.push_back(r);
dfs(nv, dep + 1);
}
}
}
int main(){
ll a, b, c, d;
scanf("%lld%lld%lld%lld", &a, &b, &c, &d);
for(int i = 0; i < 3; i++) scanf(" %c", &ops[i]);
dfs({a, b, c, d}, 0);
printf("%lld\n", ans);
return 0;
}