// 一开始思路就出来了 但却用2个半小时ac 开始时没考虑负数的情况wa一次
// 还是不懂得考虑时间复杂度,有思路 但不知是否超时 is a problem!!!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp_int(const void *a,const void *b)
{
return *(int *)a - *(int *)b;
}
int main()
{
int i,j,k;
int num[1010];
int n;
while(scanf("%d",&n) && n != 0){
for(i = 0;i < n;i++)
scanf("%d",&num[i]);
if(n < 4) {printf("no solution/n"); continue;}
qsort(num,n,sizeof(int),cmp_int);
int flage = 1;
for(i = n -1;i >= 0;i--){
if(num[i]/3 > num[i-1] && num[i - 1] > 0 && ((i-1)>=0) ) continue;
for(j = n - 1;j >= 0;j--){
if(j ==i ) continue; if( ((num[i] - num[j])/2) > num[j - 1] && num[j - 1] > 0 && ((j-1)>0) && ((j-1) != i)) continue;
for(k = n - 1;k >= 0;k--){
if(k == i || k == j) continue;
int min = num[i] - num[j] - num[k];
if( min > num[k-1] && num[k - 1] > 0 && ((k - 1) != i) && ((k-1) != j)) continue;
if( bsearch(&min,num,k,sizeof(int),cmp_int) && min != num[i] && min != num[j] && min != num[k] )
{
flage = 0;
printf("%d/n",num[i]);
goto loop;
}
}
}
}
loop:
if(flage) printf("no solution/n");
}
return 0;
}