#include<stdio.h>
int isTriangle(int a, int b, int c) {
    return (a + b > c) && (a + c > b) && (b + c > a);
}

int compare(const void* a, const void* b) {
    return (int)a - (int)b;
}

int main() {
    int numDrops;

    if (scanf("%d", &numDrops) != 1 || numDrops < 4 || numDrops > 10) {
        printf("Invalid input\n");
        return 0;
    }

    int arr[numDrops];
    for (int i = 0; i < numDrops; i++) {
        if (scanf("%d", &arr[i]) != 1 || arr[i] <= 0 || arr[i] > 99) {
            printf("Invalid input\n");
            return 0;
        }
    }
    qsort(arr, numDrops, sizeof(int), compare);

    int maxEnergy = -1;
    for (int i = 0; i < numDrops - 2; i++) {
        for (int j = i + 1; j < numDrops - 1; j++) {
            for (int m = j + 1; m < numDrops; m++) {
                if (isTriangle(arr[i], arr[j], arr[m])) {
                    int maxDrop = arr[m]; 
                    if (maxDrop > maxEnergy) {
                        maxEnergy = maxDrop;
                    }
                }
            }
        }
    }

    printf("%d\n", maxEnergy);
    return 0;
}