分两步:
1、查找兄弟串,通过排序后的字符串比较
2、使用Arrays.sort对字符串排序

import java.util.*;
public class Main{
    public static void main(String [] args){
        getBrotherString();
    }
    public static void getBrotherString(){
        Scanner scan = new Scanner(System.in);
        while(scan.hasNext()){
            // 提取入参
            int len = scan.nextInt();
            String [] str = new String[len];
            for(int i = 0; i<len; i++){
                str[i] = scan.next();
            }
            String flag = scan.next();
            int num = scan.nextInt();

            // 提取目标字符串排序后的字符串
            char[] arrayCh = flag.toCharArray();
            Arrays.sort(arrayCh);
            String flagTemp = new String(arrayCh);

            // 循环查找兄弟串
            String temp = "";
            List<String> list = new ArrayList<>();
            int flagLen = flag.length();
            for(int i = 0; i<len; i++){
                if(str[i].equals(flag) || str[i].length() != flagLen){
                    continue;
                }
                arrayCh = str[i].toCharArray();
                Arrays.sort(arrayCh);
                temp = new String(arrayCh);
                if(temp.equals(flagTemp)){
                    list.add(str[i]);
                }
            }

            // 输出结果
            System.out.println(list.size());
            if(list.size() >= num){
                String [] ret = list.toArray(new String[0]);
                Arrays.sort(ret);
                System.out.println(ret[num-1]);
            }
        }
    }
}