import bisect def main(): import sys input = sys.stdin.read data = input().split() N = int(data[0]) A = list(map(int, data[1:N+1])) A.sort() suffix_sum = [0] * (N + 1) for i in range(N-1, -1, -1): suffix_sum[i] = suffix_sum[i+1] + A[i] total = 0 for i in range(N): y = A[i] k = N - (i + 1) if k == 0: continue sum_x_gt_y = suffix_sum[i+1] max_x = A[-1] q_max = max_x // y sum_floor = 0 q = 1 while q <= q_max: low = q * y high = (q + 1) * y left = bisect.bisect_left(A, low, i + 1, N) right = bisect.bisect_left(A, high, i + 1, N) count = right - left sum_floor += q * count q += 1 sum_mod = sum_x_gt_y - y * sum_floor contrib = y * k - sum_mod total += contrib print(total) if __name__ == '__main__': main()