#include <iostream>
#include <fstream>

using namespace std;

// Declarăm vectorul de frecvență global pentru a fi inițializat automat cu 0
int fr[1001];

int main() {
    ifstream fin("bac.txt");
    int n1, n2, n3, x;
    
    // Citim numărul de concurenți pentru fiecare premiu
    if (!(fin >> n1 >> n2 >> n3)) {
        cout << "nu exista";
        return 0;
    }
    
    // Citim elementele de pe a doua linie direct în vectorul de frecvență
    while (fin >> x) {
        fr[x]++;
    }
    fin.close();
    
    int p1 = -1, p2 = -1, p3 = -1;
    int i = 1000; // Pornim de la prețul maxim posibil
    
    // 1. Căutăm prețul pentru premiul I
    while (i >= 10 && p1 == -1) {
        if (fr[i] >= n1) {
            p1 = i;
        }
        i--;
    }
    
    // 2. Căutăm prețul pentru premiul al II-lea (strict mai mic decât p1)
    while (i >= 10 && p2 == -1) {
        if (fr[i] >= n2) {
            p2 = i;
        }
        i--;
    }
    
    // 3. Căutăm prețul pentru premiul al III-lea (strict mai mic decât p2)
    while (i >= 10 && p3 == -1) {
        if (fr[i] >= n3) {
            p3 = i;
        }
        i--;
    }
    
    // Verificăm dacă s-au putut acorda toate cele 3 premii în condițiile date
    if (p1 != -1 && p2 != -1 && p3 != -1) {
        cout << p1 << " " << p2 << " " << p3;
    } else {
        cout << "nu exista";
    }
    
    return 0;
}
