#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
using ll = long long;
int main(){
  int a,b;
  ll k;
  cin >> a >> b >> k;

  int n = a+b;
  string s(n, 'a');

  ll f1,f2,f3;
  for(int i=0;i<n;i++){
    ll sum = 1;
    ll j = 1, l = 1, m = 1;

    if(b == 0){
      s[i] = 'a';
      continue;
    }else if(a == 0){
      s[i] = 'b';
      continue;
    }

    while(1){
      if(j <= a+b-1){
        sum *= j;
        j++;
      }
      if(l <= a-1){
        if(sum % l == 0){
          sum /= l;
          l++;
        }
      }
      if(m <= b){
        if(sum % m == 0){
          sum /= m;
          m++;
        }
      }

      if(j > a+b-1 && l > a-1 && m > b) break;
    }

    if(k > sum){
      s[i] = 'b';
      k -= sum;
      b--;
    }else{
      s[i] = 'a';
      a--;
    }

  }

  cout << s << endl;
}

#include <bits/stdc++.h>

#define fi first
#define se second
#define ll long long
#define dl double

using namespace std;

const int N = 1e6 + 7;
const long long mod = 1e9 + 7;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

int L,R;
int p[N];
vector<int> v[N];

void solve()
{
       cin >> L >> R;
       for(int i = 2; i < N; i++){
                if(!p[i]){
                        for(int j = i; j < N; j += i){
                                v[j].push_back(i);
                                p[j] = 1;
                        }
                }
       }
       ll ans = 0;
       vector<int> g((1 << 10), 1);
       for(int i = L; i <= R; i++){
                if(i > 1){
                        ans += R / i * 2;
                        ans--;
                }
                int l = (int)v[i].size();
                ll res = 0;
                g[0] = 1;
                for(int j = 0; j < l; j++){
                        for(int h = 0; h < (1 << j); h++){
                                g[(1 << j) + h] = g[h] * v[i][j];
                        }
                }
                for(int j = 1; j < (1 << l); j++){
                        if(__builtin_popcount(j) % 2)res += R / g[j] - (L - 1) / g[j];
                        else res -= R / g[j] - (L - 1) / g[j];
                }
                res = R - L + 1 - res;
                ans += res;
       }
       ll l = R - L + 1;
       cout << l * l - ans;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    //freopen( "input.txt" , "r" , stdin );
    //freopen( "output.txt" , "w" , stdout );

    int t = 1;
    //cin >> t;
    while(t--){
        solve();
    }
}
