import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
    
class TesteJava {

    public static void main(String[] args) {

        Map<Integer, List<String>> map = new HashMap<>();

        Scanner scan = new Scanner(System.in);

        System.out.println("Quantidade de cidades a adicionar?");
        int qtd = Integer.parseInt(scan.nextLine());

        for (int i = 0; i < qtd; i++) {
            System.out.println("Nome da " + (i + 1) + "a cidade?");
            String nome = scan.nextLine();
            map.compute(nome.length(), (k, v) -> {
                List<String> nomes = v != null ? v : new ArrayList<>();
                nomes.add(nome);
                return nomes;
            });
        }
    
        for (Map.Entry<Integer, List<String>> entry : map.entrySet()) {  
            System.out.println(entry.getKey() + " " + entry.getValue());  
        } 
    }
}