#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 1000100
typedef long long ll;
inline ll read(){
	ll x=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-')f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=(x<<1)+(x<<3)+c-'0';
		c=getchar();
	}
	return x*f;
}
int n,cnt[3],id[3]={0,1,2},pos[3];
char s[N];
void Del_C(){
	int tmp=0;
	char t[N];
	for(int i=1,j=1;i<=n;i=j+1){         //尽量删去每段的 C 
		int d[2]={0,0};
		j=i;
		while(j<n&&s[j+1]!='A')++j;
		if(s[i]=='A')t[++tmp]=s[i++];
		for(int k=i;k<=j;++k)++d[s[k]-'B'];         //统计 B 和 C 的个数 
		if(i<j&&d[1]==d[0]+1&&cnt[2]>cnt[1]+1){   //C的个数 大于 B的个数，能删掉 2 个 C。 
			for(int k=i+1;k<j;++k)t[++tmp]=s[k];
			cnt[2]-=2;
		}
		else if(i<j&&d[1]>=d[0]&&cnt[2]>cnt[1]){  //C的个数 等于 B的个数，能删掉 1 个 C。 
			if(s[i]=='C'){
				for(int k=i+1;k<=j;++k)t[++tmp]=s[k];
			}
			else{
				for(int k=i;k<j;++k)t[++tmp]=s[k];
			}
			--cnt[2];
		}
		else{
			for(int k=i;k<=j;++k)t[++tmp]=s[k];
		}
	}
	if(cnt[2]>cnt[1]&&t[tmp]=='C'){  //删去结尾的 C 
		--tmp,--cnt[2];
	}
	if(cnt[2]>cnt[1]&&t[1]=='C'){     //删去开头的 C 
		--cnt[2];
		for(int i=1;i<tmp;++i)t[i]=t[i+1];
		--tmp;
	}
	n=tmp;
	swap(s,t);
	if(cnt[2]==cnt[1])return;
	memset(t,0,sizeof(t));
	tmp=0;
	for(int i=1;i<=n;++i){           //删去 AC 
		if(i<n&&cnt[2]>cnt[1]&&s[i]=='A'&&s[i+1]=='C'){
			++i,--cnt[2],--cnt[0];
		}
		else t[++tmp]=s[i];
	} 
	n=tmp;
	swap(s,t);
}
void Del_BC(){
	int tmp=0;
	char t[N];
	for(int i=1;i<=n;++i){
		if(cnt[1]>cnt[0]&&i<n&&s[i-1]!='A'&&s[i]!='A'&&s[i+1]!='A'){ //删去 BC 或 CB 
			++i,--cnt[1],--cnt[2];
		}
		else t[++tmp]=s[i];
	}
	n=tmp;
	swap(s,t);
}
int main(){
	scanf("%s",s+1);
	n=strlen(s+1);
	int tmp=0;
	for(int i=1;i<=n;++i){   
		if(s[i]^s[i-1])s[++tmp]=s[i];  //把连续段缩起来 
	}
	n=tmp;
	for(int i=1;i<=n;++i){
		++cnt[s[i]-'A'];
	}
	sort(id,id+3,[&](int i,int j){return cnt[i]<cnt[j];});
	for(int i=0;i<3;++i)pos[id[i]]=i;
	sort(cnt,cnt+3);
	for(int i=1;i<=n;++i){
		s[i]=pos[s[i]-'A']+'A';
	}
	Del_C();
	Del_BC();
	for(int i=1;i<=n;++i){
		putchar(id[s[i]-'A']+'A');
	}
	putchar('\n');
	return 0;
}


