#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
ll getNcR(int n, int r)
{

    // p holds the value of n*(n-1)*(n-2)...,
    // k holds the value of r*(r-1)...
    long long p = 1, k = 1;

    // C(n, r) == C(n, n-r),
    // choosing the smaller value
    if (n - r < r)
        r = n - r;

    if (r != 0)
    {
        while (r)
        {
            p *= n;
            k *= r;

            // gcd of p, k
            long long m = __gcd(p, k);

            // dividing by gcd, to simplify
            // product division by their gcd
            // saves from the overflow
            p /= m;
            k /= m;

            n--;
            r--;
        }

        // k should be simplified to 1
        // as C(n, r) is a natural number
        // (denominator should be 1 ) .
    }

    else
        p = 1;

    // if our approach is correct p = ans and k =1
    return p;
}
int main()
{
    ll k;
    int a, b;
    int n;
    cin >> a >> b >> k;
    string s = " ";
    n=(a+b);
    for (int i = 0; i < n; i++)
    {
        if (a == 0)
        {
            s.push_back('b');
            b--;
        }
        else if (b == 0)
        {
            s.push_back('a');
            a--;
        }
        else
        {
            ll exper = getNcR(a + b -1 , a - 1);
            if (exper >= k)
            {
                s.push_back('a');
                a--;
            }
            else
            {
                s.push_back('b');
                k -= exper;
                b--;
            }
        }
    }
    cout<<s<<endl;
}
#pragma GCC optimize("Ofast")
#include<bits/stdc++.h>
using namespace std;
#define dd double
#define ll long long int
#define ull unsigned long long
#define lld long double  
#define setpre(n) cout << std::setprecision(n);
#define flush fflush(stdin); fflush(stdout);
#define print cout<<"Case #"<<test_case<<": ";
#define light ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define pb push_back
#define ppb pop_back
#define mkp make_pair
#define pi pair<ll,ll>
#define pii pair<ll,pi>
#define fi first
#define sc second
#define PI 3.141592653589793238462

#ifndef ONLINE_JUDGE
#define debug(x) cerr << #x <<" "; _print(x); cerr << endl;
#else
#define debug(x)
#endif

void _print(ll t) {cerr << t;}
void _print(int t) {cerr << t;}
void _print(string t) {cerr << t;}
void _print(char t) {cerr << t;}
void _print(lld t) {cerr << t;}
void _print(double t) {cerr << t;}
void _print(ull t) {cerr << t;}

template <class T, class V> void _print(pair <T, V> p);
template <class T> void _print(vector <T> v);
template <class T> void _print(set <T> v);
template <class T, class V> void _print(map <T, V> v);
template <class T> void _print(multiset <T> v);
template <class T, class V> void _print(pair <T, V> p) {cerr << "{"; _print(p.fi); cerr << ","; _print(p.sc); cerr << "}";}
template <class T> void _print(vector <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(set <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T> void _print(multiset <T> v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}

ll mod1 = 1e9+7; 
ll INF=1e9+5;
ll mod=998244353;

void solve(ll test_case){
	ll a,b,k;
	cin>>a>>b>>k;
	k--;
	vector<vector<ll> > dp(31,vector<ll>(61));
	ll i,j;
	for(i=1;i<=60;i++)
		dp[1][i] = i;
	for(i=2;i<=30;i++){
		for(j=i;j<=60;j++){
			dp[i][j] = dp[i-1][j-1]+dp[i][j-1];
		}
	}
	debug(dp)
	ll no2 = b;
	vector<char> ans(a+b,'a');
	while(k){
		ll in = upper_bound(dp[no2].begin(),dp[no2].end(),k) - dp[no2].begin() - 1;
		ans[a+b-1-in] = 'b';
		k-=dp[no2][in];
		no2--;
	}
	ll in = a+b-1;
	b = no2;
	while(b){
		//cout<<ans[in]<<" ";
		if(ans[in]!='b'){
			ans[in] = 'b';
			in--; b--;
		}
		else
			in--;
	}
	for(auto ele:ans) cout<<ele;
}

int main()
{
	#ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    freopen("Error.txt", "w", stderr);
    #endif

    light;
    ll t=1;
    //cin>>t;
    ll i=1ll;
    while(t--){
        solve(i);
        i++;
    }
}