N = int(input()) c = list(map(str, input().split())) #from itertools import permutations #ans = [] #for s in permutations(c, N): # if s[0]=='+' or s[0] == '-': # continue # try: # a = str(''.join(s)) # if '++' in a or '--' in a or '+-' in a or '-+' in a: # continue # ans.append(eval(a)) # #print(a) # except SyntaxError: # pass # #print(max(ans),min(ans)) import collections d = collections.Counter(c) sign_n = d['+']+d['-'] num_n = N-sign_n c = list(filter(('+').__ne__,c)) c = list(filter(('-').__ne__,c)) n = [] for i in c: n.append(int(i)) n = list(reversed(sorted(n))) x = [] for i in range(len(n)-sign_n): x.append(str(n[i])) n = [int(''.join(x))]+n[len(n)-sign_n:] siki_p = '' q = 0 for i in range(d['+']): siki_p = siki_p+ str(n[q])+'+' q+=1 for i in range(d['-']): siki_p = siki_p+str(n[q])+'-' q+=1 siki_p = siki_p + str(n[q]) siki_m = '' q = 0 n = sorted(n) for i in range(d['+']): siki_m = siki_m+str(n[q])+'+' q+=1 for i in range(d['-']): siki_m = siki_m+str(n[q])+'-' q+=1 siki_m = siki_m + str(n[q]) #print(siki_p, siki_m) print(eval(siki_p), eval(siki_m))