#include <bits/stdc++.h>
using namespace std;
int getDigit(int num){
int digitSum=0;
while(num!=0){
int r=num%10;
digitSum=digitSum+r;
num=num/10;
}
return digitSum;
}
int main() {
// your code goes here
int n;
cin>>n;
int a[n];
unordered_map<int,int>v;
for(int i=0;i<n;i++){
cin>>a[i];
}
int ans=-1;
for(int i=0;i<n;i++){
if(v.find(getDigit(a[i]))!=v.end()){
int sum=a[i]+v[getDigit(a[i])];
ans=max(ans,sum);
v[getDigit(a[i])]=max(v[getDigit(a[i])],a[i]);
}
else{
v[getDigit(a[i])]=a[i];
}
}
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBnZXREaWdpdChpbnQgbnVtKXsKCWludCBkaWdpdFN1bT0wOwoJd2hpbGUobnVtIT0wKXsKCQlpbnQgcj1udW0lMTA7CgkJZGlnaXRTdW09ZGlnaXRTdW0rcjsKCQludW09bnVtLzEwOwoJfQoJcmV0dXJuIGRpZ2l0U3VtOwogCn0KIAppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuOwoJY2luPj5uOwoJaW50IGFbbl07Cgl1bm9yZGVyZWRfbWFwPGludCxpbnQ+djsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbj4+YVtpXTsKCX0KCWludCBhbnM9LTE7Cglmb3IoaW50IGk9MDtpPG47aSsrKXsKCQlpZih2LmZpbmQoZ2V0RGlnaXQoYVtpXSkpIT12LmVuZCgpKXsKCQkJaW50IHN1bT1hW2ldK3ZbZ2V0RGlnaXQoYVtpXSldOwoJCQlhbnM9bWF4KGFucyxzdW0pOwoJCQl2W2dldERpZ2l0KGFbaV0pXT1tYXgodltnZXREaWdpdChhW2ldKV0sYVtpXSk7CiAKIAoJCX0KCQllbHNlewoJCQl2W2dldERpZ2l0KGFbaV0pXT1hW2ldOwoJCX0KCX0KCWNvdXQ8PGFuczsKIAoJcmV0dXJuIDA7Cn0=