#include<bits/stdc++.h>
using namespace std;
#define N 100000
int n;
int a[15];
int c[100000];
int gcd(int a,int b) {
return b?gcd(b,a%b):a;
}
//求出所有数的最大公约数
bool gcdAll() {
int temp = a[0];
for(int i = 1; i<n; i++) temp = gcd(temp,a[i]);
return temp;
}
int main() {
cin>>n;
for(int i = 0; i<n; i++) cin>>a[i];
//如果这些数的最大公约数为1,说明无最大体积取不到,此时直接输出0
//但所有数的公约数为1时,有解
//用完全背包的思路求出所有能出现的体积
//然后依次从最大值依次遍历,取第一个取不到的数
if(gcdAll()) {
c[0] = 1;
for(int i = 0;i<n;i++) {
for(int j = a[i]; j<=N; j++) {
if(c[j - a[i]] == 1) c[j] = 1;
}
}
for(int i = N;i>=0;i--){
if(!c[i]) {
cout<<i;
return 0;
}
}
}
cout<<0<<endl;
return 0;
}
12-19
1270
03-12
470
01-21
4689
11-13
2805
04-09
5802