N = int(input()) D = list(map(int,input().split())) dp = [-1] * (1 << N) for i in range(N): mask = 1 << i if D[i] > 0: dp[mask] = 100 else: if -D[i] < 100: dp[mask] = 100 + D[i] teki = set() for i in range(N): if D[i] < 0: teki.add(i) for bit in range(1,1 << N): if dp[bit] == -1:continue now = 100 for i in teki: if bit >> i & 1: now += 100 for j in range(N): if bit >> j & 1:continue maskj = 1 << j if D[j] > 0: hp = min(dp[bit] + D[j],now) dp[bit | maskj] = max(dp[bit | maskj],hp) else: if -D[j] < dp[bit]: dp[bit | maskj] = max(dp[bit | maskj],dp[bit] + D[j]) if dp[-1] < 0: print(0) else: print(dp[-1])