#include <bits/stdc++.h>
using namespace std;
void solve()
{
int n;
cin >> n;
vector<int> a(n);
int i, j;
// Nhập mảng
for (auto &i : a)
cin >> i;
// Kết quả cuối cùng của bài toán.
int ans = INT_MAX;
while (clock() <= 0.1 * CLOCKS_PER_SEC)
{
int b1 = 0, b2 = 0, b3 = 0;
// Xáo trộn mảng
random_shuffle(begin(a), end(a));
int f = 0, flag = 1;
// Duyệt mảng
for (auto j : a)
{
// Tìm nhóm đang có tổng bé nhất để cộng vào
int m = min({b1, b2, b3});
if (b1 == m)
b1 += j;
else if (b2 == m)
b2 += j;
else
b3 += j;
// Đoạn này là để tối ưu code, nếu đang duyệt mà số nhỏ nhất
// đã lớn hơn kết quả tối ưu hiện tại thì chẳng có lí do gì để duyệt tiếp cả.
if (min({b1, b2, b3}) > ans)
{
flag = 0;
break;
}
}
if (flag)
ans = min(ans, max({b1, b2, b3}));
}
cout << ans;
}
/*--------------------------------- MAIN FUNC ---------------------------------------------------*/
int main()
{
ios::sync_with_stdio(false);
cin.tie();
solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBzb2x2ZSgpCnsKCWludCBuOwoJY2luID4+IG47Cgl2ZWN0b3I8aW50PiBhKG4pOwoJaW50IGksIGo7CgkvLyBOaOG6rXAgbeG6o25nCglmb3IgKGF1dG8gJmkgOiBhKQoJCWNpbiA+PiBpOwoJCQoJLy8gS+G6v3QgcXXhuqMgY3Xhu5FpIGPDuW5nIGPhu6dhIGLDoGkgdG/DoW4uIAoJaW50IGFucyA9IElOVF9NQVg7CgkKCQoJd2hpbGUgKGNsb2NrKCkgPD0gMC4xICogQ0xPQ0tTX1BFUl9TRUMpCgl7CgkJaW50IGIxID0gMCwgYjIgPSAwLCBiMyA9IDA7CgkJLy8gWMOhbyB0cuG7mW4gbeG6o25nCgkJcmFuZG9tX3NodWZmbGUoYmVnaW4oYSksIGVuZChhKSk7CgkJaW50IGYgPSAwLCBmbGFnID0gMTsKCQkvLyBEdXnhu4d0IG3huqNuZwoJCWZvciAoYXV0byBqIDogYSkKCQl7CgkJCS8vIFTDrG0gbmjDs20gxJFhbmcgY8OzIHThu5VuZyBiw6kgbmjhuqV0IMSR4buDIGPhu5luZyB2w6BvCgkJCWludCBtID0gbWluKHtiMSwgYjIsIGIzfSk7CgkJCWlmIChiMSA9PSBtKQoJCQkJYjEgKz0gajsKCQkJZWxzZSBpZiAoYjIgPT0gbSkKCQkJCWIyICs9IGo7CgkJCWVsc2UKCQkJCWIzICs9IGo7CgkJCQoJCQkvLyDEkG/huqFuIG7DoHkgbMOgIMSR4buDIHThu5FpIMawdSBjb2RlLCBu4bq/dSDEkWFuZyBkdXnhu4d0IG3DoCBz4buRIG5o4buPIG5o4bqldCAKCQkJLy8gxJHDoyBs4bubbiBoxqFuIGvhur90IHF14bqjIHThu5FpIMawdSBoaeG7h24gdOG6oWkgdGjDrCBjaOG6s25nIGPDsyBsw60gZG8gZ8OsIMSR4buDIGR1eeG7h3QgdGnhur9wIGPhuqMuIAoJCQlpZiAobWluKHtiMSwgYjIsIGIzfSkgPiBhbnMpCgkJCXsKCQkJCWZsYWcgPSAwOwoJCQkJYnJlYWs7CgkJCX0KCQl9CgkJaWYgKGZsYWcpCgkJCWFucyA9IG1pbihhbnMsIG1heCh7YjEsIGIyLCBiM30pKTsKCX0KCWNvdXQgPDwgYW5zOwp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNQUlOIEZVTkMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCmludCBtYWluKCkKewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwoJY2luLnRpZSgpOwoJc29sdmUoKTsKCXJldHVybiAwOwp9