import java.util.*;
class Main {
// Function to compute sum of digits
private static int digiSum(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
return sum;
}
private static int solve(int[] nums, int n) {
HashMap
<Integer, Integer
> mp
= new HashMap
<>(); // digitSum -> largest number with this digitSum int maxi = -1; // final answer (if no pair found, remain -1)
for (int num : nums) {
int ds = digiSum(num);
if (mp.containsKey(ds)) {
// If same digit sum already exists, try pairing
int pairSum = mp.get(ds) + num;
maxi
= Math.
max(maxi, pairSum
);
// Update stored value to be the maximum number with this digit sum
mp.
put(ds,
Math.
max(mp.
get(ds
), num
)); } else {
// First time seeing this digit sum
mp.put(ds, num);
}
}
return maxi;
}
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = sc.nextInt();
}
int ans = solve(nums, n);
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgTWFpbiB7CiAgICAvLyBGdW5jdGlvbiB0byBjb21wdXRlIHN1bSBvZiBkaWdpdHMKICAgIHByaXZhdGUgc3RhdGljIGludCBkaWdpU3VtKGludCBuKSB7CiAgICAgICAgaW50IHN1bSA9IDA7CiAgICAgICAgd2hpbGUgKG4gPiAwKSB7CiAgICAgICAgICAgIHN1bSArPSBuICUgMTA7CiAgICAgICAgICAgIG4gLz0gMTA7CiAgICAgICAgfQogICAgICAgIHJldHVybiBzdW07CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgaW50IHNvbHZlKGludFtdIG51bXMsIGludCBuKSB7CiAgICAgICAgSGFzaE1hcDxJbnRlZ2VyLCBJbnRlZ2VyPiBtcCA9IG5ldyBIYXNoTWFwPD4oKTsgLy8gZGlnaXRTdW0gLT4gbGFyZ2VzdCBudW1iZXIgd2l0aCB0aGlzIGRpZ2l0U3VtCiAgICAgICAgaW50IG1heGkgPSAtMTsgLy8gZmluYWwgYW5zd2VyIChpZiBubyBwYWlyIGZvdW5kLCByZW1haW4gLTEpCgogICAgICAgIGZvciAoaW50IG51bSA6IG51bXMpIHsKICAgICAgICAgICAgaW50IGRzID0gZGlnaVN1bShudW0pOwoKICAgICAgICAgICAgaWYgKG1wLmNvbnRhaW5zS2V5KGRzKSkgewogICAgICAgICAgICAgICAgLy8gSWYgc2FtZSBkaWdpdCBzdW0gYWxyZWFkeSBleGlzdHMsIHRyeSBwYWlyaW5nCiAgICAgICAgICAgICAgICBpbnQgcGFpclN1bSA9IG1wLmdldChkcykgKyBudW07CiAgICAgICAgICAgICAgICBtYXhpID0gTWF0aC5tYXgobWF4aSwgcGFpclN1bSk7CgogICAgICAgICAgICAgICAgLy8gVXBkYXRlIHN0b3JlZCB2YWx1ZSB0byBiZSB0aGUgbWF4aW11bSBudW1iZXIgd2l0aCB0aGlzIGRpZ2l0IHN1bQogICAgICAgICAgICAgICAgbXAucHV0KGRzLCBNYXRoLm1heChtcC5nZXQoZHMpLCBudW0pKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIEZpcnN0IHRpbWUgc2VlaW5nIHRoaXMgZGlnaXQgc3VtCiAgICAgICAgICAgICAgICBtcC5wdXQoZHMsIG51bSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIG1heGk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIFNjYW5uZXIgc2MgPSBuZXcgU2Nhbm5lcihTeXN0ZW0uaW4pOwogICAgICAgIGludCBuID0gc2MubmV4dEludCgpOwogICAgICAgIGludFtdIG51bXMgPSBuZXcgaW50W25dOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIG51bXNbaV0gPSBzYy5uZXh0SW50KCk7CiAgICAgICAgfQogICAgICAgIGludCBhbnMgPSBzb2x2ZShudW1zLCBuKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oYW5zKTsKICAgIH0KfQo=