#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; inline int toInt(string s) { int v; istringstream sin(s); sin >> v; return v; } template inline string toStr(T x) { ostringstream sout; sout << x; return sout.str(); } typedef vector vi; typedef vector vvi; typedef vector vs; typedef pair pii; typedef long long ll; #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(),(a).rend() #define FOR(i,a,b) for(int i=(a);i<=(b);++i) #define REP(i,n) FOR(i,0,(n)-1) const double EPS = 1e-10; const double PI = acos(-1.0); const int INF = INT_MAX / 10; int main() { ll x, y, z; cin >> x >> y >> z; bool ok = false; FOR(n, -5000, 5000) { if ((-1*n*x+z) % y == 0) { int m = (-1*n*x+z) / y; if (n >= 0 && m >= 0) { int pn = n==0 ? 0 : n * 2 - 1; int pm = m==0 ? 0 : m * 2 - 1; if (pn + pm + 1 <= 10000) { REP(i, pn) { cout << 'c'; if (i != 0) { cout << 'C'; } } REP(i, pm) { cout << 'w'; if (i != 0) { cout << 'C'; } } cout << 'C' << endl; ok = true; break; } } else if (n < 0 && m >= 0) { int pn = n == 0 ? 0 : n * (-2) - 1; int pm = m == 0 ? 0 : m * 2 - 1; if (pn + pm + 1 <= 10000) { REP(i, pn) { cout << 'c'; if (i != 0) { cout << 'C'; } } REP(i, pm) { cout << 'w'; if (i != 0) { cout << 'C'; } } cout << 'W' << endl; ok = true; break; } } else if (n >= 0 && m < 0) { int pn = n == 0 ? 0 : n * (-2) - 1; int pm = m == 0 ? 0 : m * 2 - 1; if (pn + pm + 1 <= 10000) { REP(i, pn) { cout << 'c'; if (i != 0) { cout << 'C'; } } REP(i, pm) { cout << 'w'; if (i != 0) { cout << 'C'; } } cout << 'W' << endl; ok = true; break; } } } } if (!ok) { cout << "mourennaihasimasenn" << endl; } return 0; }