#include #include using namespace std; #ifndef ONLINE_JUDGE #define _GLIBCXX_DEBUG #endif using ull = unsigned long long; using ll = long long; using vi = vector; using vl = vector; using vvl = vector>; using vvvl = vector>>; using P = pair; #define rep(i, n) for(ll i = 0; i< (ll)(n); i++) #define drep(i,n) for(ll i = (n)-1; i>=0; i--) // decrease #define rrep(i,n) for(ll i = 1; i<=(n); i++) // [1,n] ull INF = 2e18; #define nall(a) a.begin(),a.end(); #define rall(a) a.rbegin(),a.rend(); // reverse all #define pb push_back #define eb emplase_back #define em emplace #define pob pop_back #define Yes cout << "Yes" << endl #define No cout << "No" << endl #define YN {cout<<"Yes"<0) { res += n%10; n /= 10; } return res; } // 桁数 ll digit(ll n) { int res = 0; while(n>0) { res++; n /= 10; } return res; } // 約数全列挙 vi divisor(ll n) { vi ret; for(int i = 1; i*i<=n; i++) { if(n%i == 0) { ret.pb(i); if(i!=1 && i*i != n) { ret.pb(n/i); } } } return ret; } // 特定文字count int stringcount(string s, char c) { return count(s.cbegin(),s.cend(),c); } int main() { string s; cin>>s; int p=0; int c=0;int t=0; rep(i,s.size()) { if(s[i] == 'P') p++; if(s[i] == 'C') c++; if(s[i] == 'T') t++; } rep(i,t) cout <<'T'; rep(i,c) cout <<'C'; rep(i,p) cout <<'P'; cout << endl; }