#include <iostream>#include <algorithm>using namespace std;int ans = -1;int arr[1005];int n;
int binary_search(int low, int high, const int &key){ int mid = low + (high - low) / 2; if (low > high) return -1; else { if (arr[mid] == key) return mid; else if (arr[mid] > key) return binary_search(low, mid - 1, key); else return binary_search(mid + 1, high, key); }}
void fun(){ ans = -1; for (int i = 0; i < n; i++) { cin >> arr[i]; } sort(arr, arr + n);
for (int i = n - 1; i >= 2; i--) { for (int j = i - 1; j >= 1; j--) { for (int k = j - 1; k >= 0; k--) { int fi = arr[i] + arr[j] + arr[k]; // 因为有负数,三数之和可能比任意三数更小 // cout << "fi:" << fi << "=" << arr[i] << "-" << arr[j] << "-" << arr[k] << endl;
int temp = binary_search(0, n - 1, fi); if (temp != -1) { ans = temp; return; } } } }}
int main(){
while (cin >> n && n) { fun(); if (ans == -1) cout << "no solution\n"; else cout << arr[ans] << '\n'; }}