#include <iostream>
#include <utility>
#include <vector>
#define llint long long
#define inf 1e18

using namespace std;
typedef pair<llint, llint> P;

string s;

int main(void)
{
	cin >> s;
	
	bool used[3];
	while(1){
		bool flag = false;
		string t;
		for(int i = 0; i < 3; i++) used[i] = false;
		for(int i = 0; i < s.size(); i++){
			if(i+2 < s.size() && s.substr(i, 3) == "ABC"){
				t += "x";
				i += 2;
				flag = true;
				continue;
			}
			t += s[i];
			used[s[i]-'A'] = true;
		}
		if(t == "x"){
			cout << "Yes" << endl;
			return 0;
		}
		if(!flag){
			cout << "No" << endl;
			return 0;
		}
		
		llint x = 3, cnt = 0;
		for(int i = 0; i < 3; i++){
			if(used[i]) cnt++, x -= i;
		}
		if(cnt != 2){
			cout << "No" << endl;
			return 0;
		}
		for(int i = 0; i < t.size(); i++){
			if(t[i] == 'x') t[i] = (char)(x+'A');
		}
		s = t;
	}
	
	return 0;
}
