/*
Hey  why peeping here -_'_-?
I believe on myself and I will achieve
this->author = Fuad Ashraful Mehmet, CSE ,University of Asia Pacific
Todo:
https://codeforces.com/problemset?tags=1500-2300
*/
#include <bits/stdc++.h>
#define forn(i, n) for (int i = 0; i < int(n); ++i)
#define all(o) (o).begin(), (o).end()
#define rall(o) (o).rbegin(), (o).rend()
#define sz(o) int(o.size())
#define FAST_IO  ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr);
#define dbg(o) cerr << "at " << __LINE__ << " response = " << o << endl;
#define dbgA(a,L,R) cerr<<#a<<"=[";for(int i=L;i<=R;i++) cerr<<a[i]<<(i==R?"]\n":" ");
#define dbgV(O) cerr << #O << "=["; for (auto o : O) cerr << o << ", "; cerr << "E]\n";
#define pb push_back
using namespace std;
using pii = pair<int, int>;
typedef long long ll;
int  n,m,k,tc=1,len;
const int N=31;
ll dp[N][N],s;

void go(int x,int y,ll rem){
	if(x==0 && y==0)return;
	if(x==0){
		forn(i,y)cout<<'b';cout<<'\n';return;
	}
	if(y==0){
		forn(i,x)cout<<'a';cout<<'\n';return;
	}
	if(dp[x-1][y]>=rem){
		cout<<'a';
		go(x-1,y,rem);
	}else{
		cout<<'b';
		go(x,y-1,rem-dp[x-1][y]);
	}
	return;
}
void solve(){
	cin>>n>>m>>s;
	dp[0][0]=1;
	for(int i=0;i<=n;++i){
		for(int j=0;j<=m;++j){
			if(i)dp[i][j]+=dp[i-1][j];
			if(j)dp[i][j]+=dp[i][j-1];
		}
	}
	go(n,m,s);
}
int main(){
	FAST_IO
	//cout<<setprecision(20)<<fixed;
	//cin>>tc;
	while(tc--){
		solve();
	}
	return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for (long long i = 0; i < (long long)(n); i++)
typedef long long  ll;
int main() {
    ll A,B,K;
    cin>>A>>B>>K;
    int f=A;int g=B;
    string s="";
    rep(i,A+B)s+='n';
    rep(i,A+B){
        int x=0;
        int y=0;
        for(int j=0;j<i;j++){
            if(s[j]=='a')x++;
            else y++;
        }
        x=A-(x+1);
        y=B-y;
        ll com=1;
        rep(k,x){
            com*=(x+y-k);
            com/=(k+1);
       }
      //  cout<<com<<endl;
      if(f==0){
          s[i]='b';
          g--;
      }
      else if(g==0){
          s[i]='a';
          f--;
      }
      else if(com<K){
            s[i]='b';
            K-=com;
         g--;
        }
        else {
            s[i]='a';
            f--;
        }
       
//return 0;
    }
    cout<<s<<endl;
}