#include #include #include using lint = long long; void solve() { int n; std::cin >> n; std::vector ds; int pnum = 0, nnum = 0; while (n--) { char c; std::cin >> c; switch (c) { case '+': ++pnum; break; case '-': ++nnum; break; default: ds.push_back(c - '0'); } } std::sort(ds.rbegin(), ds.rend()); std::vector xs; for (int i = 0; i < nnum + pnum; ++i) { xs.push_back(ds.back()); ds.pop_back(); } lint k = 0; for (auto d : ds) k = k * 10 + d; xs.push_back(k); lint min = 0; for (int i = 0; i < (int)xs.size(); ++i) { if (i <= pnum) { min += xs[i]; } else { min -= xs[i]; } } std::reverse(xs.begin(), xs.end()); lint max = 0; for (int i = 0; i < (int)xs.size(); ++i) { if (i <= pnum) { max += xs[i]; } else { max -= xs[i]; } } std::cout << max << " " << min << "\n"; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }