#pragma GCC optimize(3,"Ofast","inline")
#define R register
#include<iostream>
#include<set>
#include<cstring>
std::multiset <std::string> M;
std::multiset <std::string> :: iterator del;
int X,Y,Z;
int main(void){
	std::cin>>X>>Y>>Z;
	for(R int i=X;i>0;i--)
		M.insert("a");
	for(R int i=Y;i>0;i--)
		M.insert("b");
	for(R int i=Z;i>0;i--)
		M.insert("c");
	while(M.size()>=2){
		std::string start=*M.begin(),ending=*M.rbegin();
		del=M.lower_bound(start);
		M.erase(del);
		del=M.lower_bound(ending);
		M.erase(del);
		M.insert(start+ending);
	}
	std::cout<<*M.begin()<<std::endl;
	return 0;
}