import sys

input = sys.stdin.readline

from itertools import combinations



N = int(input().rstrip())

score = [int(input().rstrip()) for _ in range(N)]

score.sort(reverse=1)



s_multiple_of_10 = [s for s in score if s % 10 == 0]

if len(s_multiple_of_10) == N: print((0))

s_not_multiple_of_10 = [s for s in score if s % 10 != 0]



# combinationsでも、先に１０の倍数を除外してから処理したらどうだろう

for i in range(len(s_not_multiple_of_10), 0, -1):

    for c in combinations(s_not_multiple_of_10, i):

        if sum(c) % 10 == 0:

            continue

        else:

            print((sum(c) + sum(s_multiple_of_10)))

            exit()

        

# import sys

# input = sys.stdin.readline



N, *score = [int(x) for x in open(0)]

a = sum(score)

print((max([a - s for s in score + [0] if (a - s) % 10] + [0])))



# 最後の行は、scoreのなかの何か一つの要素を合計から引いたときと何も引かなかったとき（+ [0]は何も引かない場合のため)を

# それぞれ10で割ったあまりが0でない(0の論理値はFalse, 1以上の論理値はTrue) 物の中から最大値を出力する

# ややこしいが、もしaが10の倍数だった場合、scoreの要素がすべて10の倍数だったら最後の + [0] があることで 

# 0が出力され、そうではいなら少なくとも二つ以上は10の倍数ではない要素が存在するので、

# そのうち一つでもaから引いてしまえばそれは10の倍数ではなくなる。

# これを満たす物の中から最大値を出力すれば良いというわけだ

import sys

input = sys.stdin.readline
from itertools import combinations

N = int(input().rstrip())
score = [int(input().rstrip()) for _ in range(N)]
score.sort(reverse=1)
s_multiple_of_10 = [s for s in score if s % 10 == 0]
if len(s_multiple_of_10) == N:
    print((0))
s_not_multiple_of_10 = [s for s in score if s % 10 != 0]
# combinationsでも、先に１０の倍数を除外してから処理したらどうだろう
for i in range(len(s_not_multiple_of_10), 0, -1):
    for c in combinations(s_not_multiple_of_10, i):
        if sum(c) % 10 == 0:
            continue
        else:
            print((sum(c) + sum(s_multiple_of_10)))
            exit()

# import sys
# input = sys.stdin.readline
N, *score = [int(x) for x in open(0)]
a = sum(score)
print((max([a - s for s in score + [0] if (a - s) % 10] + [0])))
# 最後の行は、scoreのなかの何か一つの要素を合計から引いたときと何も引かなかったとき（+ [0]は何も引かない場合のため)を
# それぞれ10で割ったあまりが0でない(0の論理値はFalse, 1以上の論理値はTrue) 物の中から最大値を出力する
# ややこしいが、もしaが10の倍数だった場合、scoreの要素がすべて10の倍数だったら最後の + [0] があることで
# 0が出力され、そうではいなら少なくとも二つ以上は10の倍数ではない要素が存在するので、
# そのうち一つでもaから引いてしまえばそれは10の倍数ではなくなる。
# これを満たす物の中から最大値を出力すれば良いというわけだ

-import sys - -input = sys.stdin.readline -from itertools import combinations - -N = int(input().rstrip()) -score = [int(input().rstrip()) for _ in range(N)] -score.sort(reverse=1) -s_multiple_of_10 = [s for s in score if s % 10 == 0] -if len(s_multiple_of_10) == N: -    print((0)) -s_not_multiple_of_10 = [s for s in score if s % 10 != 0] -# combinationsでも、先に１０の倍数を除外してから処理したらどうだろう -for i in range(len(s_not_multiple_of_10), 0, -1): -    for c in combinations(s_not_multiple_of_10, i): -        if sum(c) % 10 == 0: -            continue -        else: -            print((sum(c) + sum(s_multiple_of_10))) -            exit() +# import sys +# input = sys.stdin.readline +N, *score = [int(x) for x in open(0)] +a = sum(score) +print((max([a - s for s in score + [0] if (a - s) % 10] + [0]))) +# 最後の行は、scoreのなかの何か一つの要素を合計から引いたときと何も引かなかったとき（+ [0]は何も引かない場合のため)を +# それぞれ10で割ったあまりが0でない(0の論理値はFalse, 1以上の論理値はTrue) 物の中から最大値を出力する +# ややこしいが、もしaが10の倍数だった場合、scoreの要素がすべて10の倍数だったら最後の + [0] があることで +# 0が出力され、そうではいなら少なくとも二つ以上は10の倍数ではない要素が存在するので、 +# そのうち一つでもaから引いてしまえばそれは10の倍数ではなくなる。 +# これを満たす物の中から最大値を出力すれば良いというわけだ