#include <bits/stdc++.h>
using namespace std;

int dp[2][5000][5000];

int main() {
  int n;
  cin >> n;
  int a[n],sum=0;;
  for(int i=0; i<n; i++) {
    cin >> a[i];
    sum+=a[i];
  }
  sort(a,a+n,greater<int>());
  dp[0][0][0]=1;
  for(int i=0; i<n; i++) {
    for(int j=3000; j>=0; j--) {
      for(int k=3000; k>=0; k--) {
        dp[1][a[i]+j][k]|=dp[0][j][k];
        dp[1][j][a[i]+k]|=dp[0][j][k];
      }
    }
    for(int j=3000; j>=0; j--) {
      for(int k=3000; k>=0; k--) {
        dp[0][j][k]|=dp[1][j][k];
        dp[1][j][k]=0;
      }
    }
  }
  int ans=1<<29;
  for(int i=0; i<3000; i++) {
    for(int j=0; j<3000; j++) {
      if(!dp[0][i][j]) continue;
      int k=sum-i-j;
      ans=min(ans,max(i,max(j,k)));
    }
  }
  cout << ans << endl;
  return 0;
}
