思路:思维题。题目说了我们可以进行任意次操作,那么直接算整个数组a的gcd即可,为什么?因为越多数去算gcd,其结果不会变大,而会不变或者变小,这恰好满足元素和越小越好的要求;并且我们能够进行任意次操作,那就可以把所有的元素都变成整个数组a的gcd。所以我们先算出整个数组a的gcd再 * n就得到最终结果,然后输出即可

代码:

import sys
input = lambda: sys.stdin.readline().strip()

import math
inf = 10 ** 18

def I():
    return input()

def II():
    return int(input())

def MII():
    return map(int, input().split())

def GMI():
    return map(lambda x: int(x) - 1, input().split())

def LI():
    return input().split()

def LII():
    return list(map(int, input().split()))

def LFI():
    return list(map(float, input().split()))

fmax = lambda x, y: x if x > y else y
fmin = lambda x, y: x if x < y else y
isqrt = lambda x: int(math.sqrt(x))

'''
如果python的版本足够高,也可以用下面两种调库和解包的写法:
print(n * reduce(math.gcd, a))
print(n * math.gcd(*a))
'''

# 以下是能够贴合其他语言的gcd和lcm写法,考虑了溢出问题
def gcd(a, b):
    return a if b == 0 else gcd(b, a % b)

def lcm(a, b):
    return a // gcd(a, b) * b

def solve():
    n = II()
    a = LII()
    
    s = 0
    for x in a:
        s = gcd(s, x)
    print(s * n)

t = 1
# t = II()
for _ in range(t):
    solve()