#include <bits/stdc++.h>
using namespace std;
#define lol long long
#define l '\n'
#define M7md std::ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
int main() {
M7md//When I wrote this code, only God and I understood what I did. Now only God knows//
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
string X,Y;
cin>>X>>Y;
vector<int>L(26),R(26);
for(auto j:X){
L[j-'A']++;
}
for(auto j:Y){
R[j-'A']++;
}
vector<int>S(26),P;
int SS=0;
for(int j=0;j<26;j++){
if(R[j]>L[j]) {
for(int k=0;k<abs(L[j]-R[j]);k++){
P.push_back(j);
}
SS+=abs(L[j]-R[j]);
}
}
cout<<SS<<"\n";
SS=0;
for(int j=0;j<X.size();j++){
int chart=X[j]-'A';
if(R[chart]<L[chart]){
if(P[SS]<=chart||L[chart]-S[chart]==L[chart]-R[chart]){
X[j]=char(P[SS]+'A');
--L[chart];
++L[P[SS]];
++SS;
}
else
S[chart]++;
}
else
S[chart]++;
}
cout<<X;
}
561. Array Partition I | 1374. Generate a String With Characters That Have Odd Counts |
1822. Sign of the Product of an Array | 1464. Maximum Product of Two Elements in an Array |
1323. Maximum 69 Number | 832. Flipping an Image |
1295. Find Numbers with Even Number of Digits | 1704. Determine if String Halves Are Alike |
1732. Find the Highest Altitude | 709. To Lower Case |
1688. Count of Matches in Tournament | 1684. Count the Number of Consistent Strings |
1588. Sum of All Odd Length Subarrays | 1662. Check If Two String Arrays are Equivalent |
1832. Check if the Sentence Is Pangram | 1678. Goal Parser Interpretation |
1389. Create Target Array in the Given Order | 1313. Decompress Run-Length Encoded List |
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |