import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextLine()) { // 注意 while 处理多个 case String a = in.nextLine(); String b = a.replaceAll(" ", ""); char[] c = b.toCharArray(); List<Character> odds = new ArrayList<>(); List<Character> evens = new ArrayList<>(); for (int i = 0; i < c.length; i++) { if (i % 2 == 0) { odds.add(c[i]); } else { evens.add(c[i]); } } evens.sort(Comparator.comparingInt(j -> j)); odds.sort(Comparator.comparingInt(j -> j)); for (int i = 0; i < c.length; i++) { if (i % 2 == 0) { c[i] = odds.get(i / 2); } else { c[i] = evens.get((i - 1) / 2); } } StringBuilder sb = new StringBuilder(); for (int i = 0; i < c.length; i++) { StringBuilder sb0=new StringBuilder(); if (String.valueOf(c[i]).matches("[A-Fa-f]")) { String d = Integer.toBinaryString(Integer.parseInt(String.valueOf(c[i]), 16)); if (d.length()<4) { sb0.append("0000",0,4-d.length()); } String e = String.valueOf(sb0.append(d).reverse()); sb.append(Integer.toHexString(Integer.parseInt(e, 2)).toUpperCase()); } else if (String.valueOf(c[i]).matches("[0-9]")) { String d = Integer.toBinaryString(Integer.parseInt(String.valueOf(c[i]))); if (d.length()<4) { sb0.append("0000",0,4-d.length()); } String e = String.valueOf(sb0.append(d).reverse()); sb.append(Integer.toHexString(Integer.parseInt(e, 2)).toUpperCase()); } else { sb.append(c[i]); } } System.out.println(sb); } } }