#!/bin/python import sys def gcd(a,b): if(b==0): return a else: return gcd(b,a%b) def maximumValue(a): # Return the maximum value of f among all subsegments [l..r]. l = len(a) f_m = 0 for i in range(l): max_v = a[i] sum_v = a[i] gcd_v = a[i] f_v = 0 for j in range(i + 1, l): if a[j] > max_v: max_v = a[j] sum_v = sum_v + a[j] gcd_v = gcd(gcd_v, a[j]) f_v = max(f_v, gcd_v * (sum_v - max_v)) f_m = max(f_m, f_v) return f_m if __name__ == "__main__": n = int(raw_input().strip()) a = map(int, raw_input().strip().split(' ')) result = maximumValue(a) print result