/*   @JUDGE_ID:   1705PZ   10125   C */
#include <stdio.h>
#include <stdlib.h>

int comp(const void *x, const void *y) {
	return *(int *)x - *(int *)y;
}

main()
{
	int i, j, k, n, p, sum, max;
	int s[1000];

	while(1) {
		scanf("%d", &n);
		if(n == 0) {
			break;
		}
		for(i = 0; i < n; i++) {
			scanf("%d", &s[i]);
		}
		qsort(s, n, sizeof(int), comp);
		p = 0;
		for(i = 0; i < n - 2; i++) {
			for(j = i + 1; j < n - 1; j++) {
				for(k = j + 1; k < n; k++) {
					sum = s[i] + s[j] + s[k];
					if(bsearch(&sum, s, n, sizeof(int), comp)) {
						if(p == 0) {
							max = sum;
							p = 1;
						} else {
							if( sum > max ) {
								max = sum;
							}
						}
					}

				}
			}
		}
		if(p == 0) {
			printf("no solution\n");
		} else {
			printf("%d\n", max);
		}
	}
}

