import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); HashMap<Integer,String> hashMap = new HashMap<Integer, String>(); HashSet<Integer> hashSet = new HashSet<>(); List<Integer> list = new ArrayList<Integer>(); while(true) { String str = scanner.nextLine(); if(str.contains("#")) { String[] strings = str.split("#"); int n = Integer.parseInt(strings[0]); int res = resolveNum(n,strings[1]); // 如果已经存在这个数,则将这个数加入到set中 if(hashMap.containsKey(res)) { hashSet.add(res); } // 将所有的结果和 原字符串加入到map和list中 hashMap.put(res, str); list.add(res); } else { break; } } // 标记是不是None boolean flag = false; // 如果set中没有这个数,说明这个数需要输出。 list保证顺序。 for(int x : list) { if(!hashSet.contains(x)) { flag = true; System.out.println(hashMap.get(x)); } } if(!flag) { System.out.println("None"); } } // 用来转化成10进制 private static int resolveNum(int n, String m) { int res =1; int cnt = 1; char[] chars = m.toCharArray(); for(int i =m.length()-1;i>=0;i--) { int tmp; if(chars[i] > '9') { chars[i] = Character.toUpperCase(chars[i]); tmp = (int)(chars[i] - 'A') + 10; } else { tmp = (int)(chars[i] - '0'); } res += tmp*cnt; cnt*=n; } return res; } }