#include <iostream>
#include <cstring>
using namespace std;
class TC;
class TN;
class TC
{
string sa;
public:
TC(){}
void dump(string s,TN &p);
void show(TN p);
};
class TN
{
string s1;
public:
TN(){}
friend void TC::dump(string s,TN &p);
friend void TC::show(TN p);
};
void TC::dump(string s,TN &p)
{
char str1[128]="";
char str2[128]="";
int m=0;
int n=0;
for(int i=0;i<static_cast<int>(s.length());i++)
{
//寻找0~9,存入str1
if(s.at(i)>=48&&s.at(i)<=57)
{
str1[m]=s.at(i);
m++;
}
//寻找'a'~'z',存入str2
if((s.at(i)>=65&&s.at(i)<=90)||(s.at(i)>=97&&s.at(i)<=122))
{
str2[n]=s.at(i);
n++;
}
}
//对字符串按从小到大进行排序
for(int i=0;i<(int)strlen(str1);i++)
{
for(int j=0;j<(int)strlen(str1)-i-1;j++)
{
if(str1[j]>str1[j+1])
{
char ch=str1[j];
str1[j]=str1[j+1];
str1[j+1]=ch;
}
}
}
for(int i=0;i<(int)strlen(str2);i++)
{
for(int j=0;j<(int)strlen(str2)-i-1;j++)
{
if(str2[j]>str2[j+1])
{
char ch=str2[j];
str2[j]=str2[j+1];
str2[j+1]=ch;
}
}
}
this->sa=str1;
p.s1=str2;
}
void TC::show(TN p)
{
cout << "TC字符串:" << this->sa << endl;
cout << "TN字符串:" << p.s1 << endl;
}
int main()
{
TC p1;
TN p2;
string s;
getline(cin,s);//终端输入字符串,用s接收
p1.dump(s,p2);
p1.show(p2);
return 0;
}