#include #include #include #include using namespace std; #define endl '\n' #define ALL(a) (a).begin(),(a).end() #define SZ(a) int((a).size()) #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define DEBUG(x) cout<<#x<<": "< P; typedef long long int LL; typedef pair LP; #define int LL signed main() { ios::sync_with_stdio(false); cin.tie(0); int N; vector c; cin >> N; int np = 0, nm = 0; vector num; REP(i,N){ char c; cin >> c; if(c == '+'){ np++; }else if(c == '-'){ nm++; }else{ num.push_back(c-'0'); } } int ans1 = 0, ans2 = 0; vector num2; sort(ALL(num)); //REP(i,SZ(num)) DEBUG(num[i]); int p = 0; REP(i,nm){ num2.push_back(num[p]); p++; } //DEBUG(nm); REP(i,np){ num2.push_back(num[p]); p++; } int m = 0; RFOR(i,p,SZ(num)){ m *= 10; m += num[i]; } num2.push_back(m); p = 0; //REP(i,SZ(num2)) DEBUG(num2[i]); REP(i,nm){ ans1 -= num2[p]; //DEBUG(ans1); p++; } REP(i,np){ ans1 += num2[p]; //DEBUG(ans1); p++; } //DEBUG(num[p]); ans1 += num2[p]; p = 0; REP(i,np+1){ ans2 += num2[p]; p++; } REP(i,nm){ ans2 -= num2[p]; p++; } if(nm != 0) cout << ans1 << ' ' << ans2 << endl; else{ int nn = np+1; int ans2 = 0; vector v(nn,0); REP(i,SZ(num)){ v[i%nn] *= 10; v[i%nn] += num[i]; } REP(i,SZ(v)) ans2 += v[i]; cout << ans1 << ' ' << ans2 << endl; } return 0; }