#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return ((int)a - (int)b);
}

int main() {
    int K;
    if (scanf("%d", &K) != 1 || K <= 4 || K >= 10) {
        printf("Invalid input\n");
        return 1;
    }

    int* energies = (int*)malloc(K * sizeof(int));
    if (energies == NULL) {
        printf("Memory allocation failed\n");
        return 1;
    }

    for (int i = 0; i < K; i++) {
        if (scanf("%d", &energies[i]) != 1 || energies[i] < 1 || energies[i] > 99) {
            printf("Invalid input\n");
            free(energies);
            return 1;
        }
    }

    qsort(energies, K, sizeof(int), compare);

    int max_valid_energy = -1;
    for (int i = 0; i < K - 2; i++) {
        int a = energies[i], b = energies[i+1], c = energies[i+2];
        if (a + b > c && a + c > b && b + c > a) {
            max_valid_energy = (max_valid_energy > c) ? max_valid_energy : c;
        }
    }

    printf("%d\n", max_valid_energy);

    free(energies);
    return 0;
}