input input.txt output output.txt String x is an anagram of string y , if we can rearrange the letters in string x and get exact string y . For example, strings "DOG" and "GOD" are anagrams, so are strings "BABA" and "AABB", but strings "ABBAC" and "CAABA" are not. You are given two strings s and t of the same length, consisting of uppercase English letters. You need to get the anagram of string t from string s . You are permitted to perform the replacing operation: every operation is replacing some character from the string s by any other character. Get the anagram of string t in the least number of replacing operations. If you can get multiple anagrams of string t in the least number of operations, get the lexicographically minimal one. The lexicographic order of strings is the familiar to us "dictionary" order. Formally, the string p of length n is lexicographically smaller than string q of the same length, if p 1 = q 1 , p 2 = q 2 , ..., p k - 1 = q k - 1 , p k q k for some k (1 ≤ k ≤ n ). Here characters in the strings are numbered from 1. The characters of the strings are compared in the alphabetic order.
输入描述:
The input consists of two lines. The first line contains string s, the second line contains string t. The strings have the same length (from 1 to 105 characters) and consist of uppercase English letters.


输出描述:
In the first line print z — the minimum number of replacement operations, needed to get an anagram of string t from string s. In the second line print the lexicographically minimum anagram that could be obtained in z operations.
示例1

输入

ABA<br />CBA<br />CDBABC<br />ADCABD<br />

输出

1<br />ABC<br />2<br />ADBADC<br />

备注:
The second sample has eight anagrams of string t, that can be obtained from string s by replacing exactly two letters: "ADBADC", "ADDABC", "CDAABD", "CDBAAD", "CDBADA", "CDDABA", "DDAABC", "DDBAAC". These anagrams are listed in the lexicographical order. The lexicographically minimum anagram is "ADBADC".
加载中...