#include #define F first #define S second #define MP make_pair #define pb push_back #define endl '\n' using namespace std; typedef long long LL; typedef pair< int, int > P; typedef pair< LL, LL > LP; typedef pair< int, P > iP; typedef pair< P, P > PP; static const int INF = INT_MAX; static const LL LINF = LLONG_MAX; static const int MIN = INT_MIN; static const LL LMIN = LLONG_MIN; static const int MOD = 1000000007; static const int SIZE = 100005; int dx[] = {0, -1, 1, 0}; int dy[] = {-1, 0, 0, 1}; int main() { ios::sync_with_stdio(false); cin.tie(0); int n; string ch; cin >> n; LL a[3]; string s; cin >> ch; getline( cin, s ); if( s.find( ' ' ) != -1 ) { cout << "\"assert\"" << endl; return 0; } a[0] = 0; LL dig = 1; int pos = ch.size() - 1; while( pos >= 0 ) { a[0] += ( ch[pos] - '0' ) * dig; --pos; dig *= 10; } for( int i = 1; i < n; ++i ) cin >> a[i]; priority_queue< LL > res; set< LL > st; for( int i = 0; i < n - 1; ++i ) { for( int j = i + 1; j < n; ++j ) { int p = st.size(); st.insert( a[i] + a[j] ); if( p != st.size() ) { res.push( a[i] + a[j] ); } } } if( res.size() != 1 ) { res.pop(); } cout << res.top() << endl; return 0; }