#include <iostream>
#include <algorithm>
#include <vector>
typedef long long ull;
using namespace std;
vector <ull> A;
vector <ull> dp;
vector <int> ord;
ull calc(ull mask, ull runsum, int n){
if(dp[mask]==-1){
for(int i=0; i<n; ++i){
ull prev=1<<i;
if(mask&prev){
ull prevsum=runsum-A[i];
ull prevmask=~mask;
prevmask|=prev;
prevmask=~prevmask;
ull score=calc(prevmask,prevsum,n);
score+=prevsum%A[i];
dp[mask]=max(dp[mask],score);
}
}
}
return dp[mask];
}
int main(){
int n;
cin>>n;
A.resize(n);
ull tot=0;
for(int i=0; i<n; ++i){
ull cur;
cin>>cur;
tot+=cur;
A[i]=cur;
}
ull L=1<<(n);
dp.resize(L);
for(ull i=1; i<L; ++i)
dp[i]=-1;
dp[0]=0;
ull ans=calc(L-1,tot,n);
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgp0eXBlZGVmIGxvbmcgbG9uZyB1bGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvciA8dWxsPiBBOwp2ZWN0b3IgPHVsbD4gZHA7CnZlY3RvciA8aW50PiBvcmQ7CnVsbCBjYWxjKHVsbCBtYXNrLCB1bGwgcnVuc3VtLCBpbnQgbil7CiAgICBpZihkcFttYXNrXT09LTEpewogICAgICAgIGZvcihpbnQgaT0wOyBpPG47ICsraSl7CiAgICAgICAgICAgIHVsbCBwcmV2PTE8PGk7CiAgICAgICAgICAgIGlmKG1hc2smcHJldil7CiAgICAgICAgICAgICAgICB1bGwgcHJldnN1bT1ydW5zdW0tQVtpXTsKICAgICAgICAgICAgICAgIHVsbCBwcmV2bWFzaz1+bWFzazsKICAgICAgICAgICAgICAgIHByZXZtYXNrfD1wcmV2OwogICAgICAgICAgICAgICAgcHJldm1hc2s9fnByZXZtYXNrOwogICAgICAgICAgICAgICAgdWxsIHNjb3JlPWNhbGMocHJldm1hc2sscHJldnN1bSxuKTsKICAgICAgICAgICAgICAgIHNjb3JlKz1wcmV2c3VtJUFbaV07CiAgICAgICAgICAgIGRwW21hc2tdPW1heChkcFttYXNrXSxzY29yZSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAKICAgIH0KICAgIHJldHVybiBkcFttYXNrXTsKfQppbnQgbWFpbigpewogICAgaW50IG47CiAgICBjaW4+Pm47CiAgICBBLnJlc2l6ZShuKTsKICAgIHVsbCB0b3Q9MDsKICAgIGZvcihpbnQgaT0wOyBpPG47ICsraSl7CiAgICAgICB1bGwgY3VyOwogICAgICAgY2luPj5jdXI7CiAgICAgICB0b3QrPWN1cjsKICAgICAgIEFbaV09Y3VyOwogICAgfQogICAgdWxsIEw9MTw8KG4pOwogICAgZHAucmVzaXplKEwpOwogICAgZm9yKHVsbCBpPTE7IGk8TDsgKytpKQogICAgICAgIGRwW2ldPS0xOwogICAgZHBbMF09MDsKICAgIHVsbCBhbnM9Y2FsYyhMLTEsdG90LG4pOwogICAgY291dDw8YW5zOwogICAgcmV0dXJuIDA7Cn0=