def solve(N, A): dp = [float("inf")] * (1 << N) dp[0] = 0 for V in range(1 << N): for i in range(N): if (V >> i) & 1: continue VV = V | (1 << i) r = ( sum(a for b, a in zip(list(f"{V:0{N}b}"[::-1]), A) if b == "1") % 1000 ) buy = max(0, A[i] - r) dp[VV] = min(dp[VV], dp[V] + buy) return dp[-1] def main(): N = int(input()) A = [int(input()) for _ in range(N)] ans = solve(N, A) print(ans) if __name__ == "__main__": main()