#include <iostream>
#include <cstring>
using namespace std;
const int MAX_LENGTH = 1000;
const int TEN = 10;
int freq[MAX_LENGTH];
int freqN[MAX_LENGTH];
int main() {
int n;
cin >> n;
int copyN = n;
while (copyN) {
++freqN[copyN % TEN];
copyN /= TEN;
}
int desInN = 0, frecventa = 0;;
for (int i = 0; i < TEN; ++i) {
if (freqN[i] > frecventa) {
desInN = i;
frecventa = freqN[i];
}
// cout << freqN[i] << " ";
}
cout << desInN <<" < DES \n";
copyN = n;
cout <<" \n"<< n << "<- N\n";
string linie;
getline(cin,linie);
int numbCreate = 0;
while (getline(cin, linie)) {
// cout << linie <<"\n";
//cout << linie;
int length = linie.size();
//cout << length << "()\n";
for (int i = 0; i < length; ++i){
if (linie[i] >= 48 && linie[i] <= 57) {
//cout << linie[i] <<"<-\n";
//cout << linie[i] << " " << numbCreate << " <-1\n";
numbCreate = numbCreate * TEN + linie[i] - 48;
++freq[numbCreate % TEN];
//cout << numbCreate << " \n";
}
}
}
cout << numbCreate << " <- numbCreate\n"; // 234
int copyNumbCreate = numbCreate;
int reverse = 0, newN = 0;
while (copyN) { // 4232
for (int i = 0; i < TEN; ++i) {
// cout << freq[i] <<" ";
if (copyN % TEN == i && freq[i] != 0) {
reverse = reverse * TEN + i;
--freq[i];
}
}
newN = newN * TEN + copyN % TEN;
copyN /= TEN;
}
memset(freq, 0, TEN * sizeof(freq[TEN]));
while ( copyNumbCreate) {
++freq[copyNumbCreate % TEN];
copyNumbCreate /= TEN;
//cout << freq[i] << "<>";
}
for (int i = 0; i < TEN; ++i) {
cout << freq[i] << "<>";
}
cout << " \n" << newN << " "<< reverse << " <- reverse \n";
if (newN == reverse) {
//cout << reverse << "<<<";
} else {
}
// cout << numbCreate << " " << reverse << " " << copyN;;
return 0;
}