Fox Ciel is playing a game with numbers now. 

Ciel has *n* positive integers: *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*n*</sub>. She can do the following operation as many times as needed: select two different indexes *i* and *j* such that *x*<sub class="lower-index">*i*</sub> &gt; *x*<sub class="lower-index">*j*</sub> hold, and then apply assignment *x*<sub class="lower-index">*i*</sub> = *x*<sub class="lower-index">*i*</sub> - *x*<sub class="lower-index">*j*</sub>. The goal is to make the sum of all numbers as small as possible.

Please help Ciel to find this minimal sum.
The first line contains an integer *n* (2 ≤ *n* ≤ 100). Then the second line contains *n* integers: *x*<sub class="lower-index">1</sub>, *x*<sub class="lower-index">2</sub>, ..., *x*<sub class="lower-index">*n*</sub> (1 ≤ *x*<sub class="lower-index">*i*</sub> ≤ 100).
n = int(input())
nums = list(map(int, input().split()))

on = True

while on:
    nums.sort(reverse=True)
    index_pointer = None
    repeating_element = None
    for i in range(0, len(nums)-1):
        if repeating_element and index_pointer:
            if nums[i] == repeating_element:
                nums[i] = nums[i] - nums[index_pointer]
        else:
            if nums[i] == nums[i+1]:
                if not repeating_element:
                    repeating_element = nums[i]

                j = i+1

                while j < len(nums):
                    j += 1
                    if j == len(nums):
                        on = False
                        break
                    if nums[i] > nums[j]:
                        index_pointer = j
                        break
                if j < len(nums):
                    nums[i] = nums[i] - nums[j]

            else:
                nums[i] = nums[i] - nums[i+1]
                if nums[i] < 1:
                    nums[i] = nums[i] + nums[i + 1]
                    on = False

result = 0
for i in nums:
    result += i
print(result)