#include <iostream>
#include <vector>

using namespace std;

int mostCommonSum(const vector<int>& a) {
  int sum = 0;
  for(auto num: a) {
    sum += num;
  }
  vector<int> dp(sum + 1);
  dp[0] = 1;
  sum = 0;
  for (int i = 0; i < (int)a.size(); i++) {
    sum += a[i];
    for(int j = sum; j >= 0; j--) {
      if (j - a[i] >= 0) {
        dp[j] += dp[j - a[i]];
      }
    }
  }
  int maxFrequency = -1;
  int mostFrequentSum = -1;
  for (int i = 0; i <= sum; i++) {
    if (dp[i] >= maxFrequency) {
      maxFrequency = dp[i];
      mostFrequentSum = i;
    }
  }
  return mostFrequentSum;
}

int main()
{
  vector<int> a = {2, 4, 6, 8};
  cout << mostCommonSum(a);

  return 0;
}