import java.io.*;

class Liste {
    int   val;
    Liste suiv;

    Liste (int v, Liste s) {
        val = v;
        suiv = s;
    }
}

class Exo {

    public static String Lire () {
        BufferedReader in = 
            new BufferedReader(new InputStreamReader(System.in));
        String s;
        try { s = in.readLine(); }
        catch (IOException e) { s = "echec"; }
        return(s);
    }

    static void affiche (Liste m) {
        if (m != null) {        
            System.out.print(m.val + " ");
            affiche(m.suiv);
        }
        else
            System.out.println();
    }

    static int max (Liste m) {
        if (m == null) 
            return(-1);
        else {
            int max_suiv = max(m.suiv);
            if (m.val > max_suiv)
                return(m.val);
            else
                return(max_suiv);
        }
    }

    static Liste creerListe() {
        int x = Integer.parseInt(Lire());
        if (x > -1)
            return(new Liste(x, creerListe()));
        else
            return(null);
    }

    static Liste insereListeTriee(int y, Liste m) {
        if (m == null)
            return(new Liste(y, null));
        else
            if (y > m.val) {
                m.suiv = insereListeTriee(y, m.suiv);
                return(m);
            }
            else
                return(new Liste(y, m));
    }

    static void supprimeDeuxieme(Liste m) {
        if (m != null && m.suiv != null)
            m.suiv = m.suiv.suiv;            
    }

    static Liste supprimePremier(Liste m) {
        if (m != null)
            return(m.suiv);
        else 
            return(null);            
    }

    static void main (String[] args) {
        Liste l;
        l = creerListe();
        affiche(l); 
        System.out.println("Max : " + max(l));
        l = insereListeTriee(Integer.parseInt(Lire()), l);
        affiche(l); 

        supprimeDeuxieme(l);
        affiche(l); 
        l = supprimePremier(l);
        affiche(l); 
    }
}

