#include<bits/stdc++.h>
#define FastIO ios_base::sync_with_stdio(false); cin.tie(0);
#define pb                push_back
#define all(x)            (x).begin(),(x).end()
#define uniq(v)           (v).erase(unique(all(v)),(v).end())
#define sz(x)             (int)((x).size())
#define fr                first
#define sc                second
#define pii               pair<int,int>
#define ll                long long
using namespace std ;
ll i , j , c ;
ll dp[61][61] ;
void solve()
{

    ll a , b ,  k ; cin >> a >> b >> k ;
    memset(dp,0l,sizeof(dp)) ;
    dp[0][0] = 1 ;
    for(i=1;i<=61;i++){
        dp[i][0] = 1 ;
        for(j=1;j<i;j++){
            dp[i][j] = dp[i-1][j] + dp[i-1][j-1] ;
        }
        dp[i][i] = 1 ;
    }
    ll n = a+b ;
    while(n--){
        ll value = dp[a-1+b][b] ;
        if(value>=k){
            cout << 'a';
            a-- ;
        }else {
           cout << 'b' ;
           b-- ;
           k-= value ;
        }
    }
}

signed main(){
    FastIO ;
    int t=1 ;
    ///cin>>t ;
    while(t--){
        solve() ;
    }
    return 0 ;
}


#include<bits/stdc++.h>
#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <set>
#include <cassert>
#include <numeric>
using namespace std;
#define rep(i,n) for(int i = 0; i < (int)n; i++)
using ll = long long;
#define ALL(a)  (a).begin(),(a).end()



int main() {
  ll A,B,K,W,ans1=0,ans2=10000000,sum=0,x,y,z,ans=0;
  string s, s2, s3;
  char S1,S2,S3[11];
  vector<ll> v,v1,v2;
  map<ll,ll> f,g;

  cin >> A >> B >> K;

  if(A==B && B==K){
    cout << A;
    return 0;
  }
  if(A==B && A!=K){
      cout << K;
      return 0;
  }if(B==K && A!=B){
    cout << A;
    return 0;
  }if(A==K && B!=A){
    cout << B;
    return 0;
  }
  cout << 0;




}

