import java.util.*;

class HassuAlkio implements Comparable<HassuAlkio> {
    String etunimi;
    String sukunimi;
    
    public HassuAlkio(String e, String s) {
        etunimi = e;
        sukunimi = s;
    }
    
    public int compareTo(HassuAlkio h) {
        if (etunimi.length() != h.etunimi.length()) {
            if (etunimi.length() > h.etunimi.length()) {
                return 1;
            } else {
                return -1;
            }
        } else {
            return sukunimi.compareTo(h.sukunimi);
        }
    }
    
    public String toString() {
        return "("+etunimi+","+sukunimi+")";
    }
}

public class Testi {
    public static void main(String[] args) {
        PriorityQueue<HassuAlkio> k = new PriorityQueue<>();
        k.add(new HassuAlkio("Uolevi","Koodinen"));
        k.add(new HassuAlkio("Maija","Muuttujainen"));
        k.add(new HassuAlkio("Åke","Funktiola"));
        k.add(new HassuAlkio("Liisa","Muuttujainen"));
        while (k.size() > 0) {
            HassuAlkio x = k.poll();
            System.out.println(x);
        }
    }
}
