#include <bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    long k;
    cin >> a >> b >> k;
    long nCk[a+b+1][a+b+1];
    nCk[0][0] = 1;
    fill(nCk[0]+1,nCk[0]+a+b+1,0);
    for(int i = 1 ; i < a+b+1 ; i++){
        nCk[i][0] = 1;
        for(int j = 1 ; j < a+b+1 ; j++){
            nCk[i][j] = nCk[i-1][j-1] + nCk[i-1][j];
        }
    }
    string ans = "";
    int a2 = a;
    int b2 = b;
    for(int i = 0 ; i < a + b ; i++){
        long t = nCk[a2-1+b2][b2];
        if(k <= t){
            ans.push_back('a');
            a2--;
        }
        else{
            k-=t;
            ans.push_back('b');
            b2--;
        }
    }
    cout << ans << endl;
}
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define random(l,r,T)    uniform_int_distribution<T>(l,r)(rng)
ll mod=1000000007;
ll fact[200000];
ll dmod(ll x){
    return ((x+mod)%mod);
}
ll power(ll x,ll y)
{
    ll res=1;
    while(y)
    {
        if(y&1) res=(res*x)%mod;
        x=(x*x)%mod; y>>=1;
    }
    return res;
}
ll nCr(ll n,ll r){
    if(r>n) return 0;
    else if(r<0) return 0;
    else if(r==0||r==n)return 1;
    ll ans=fact[n];
    ans=(ans*power(fact[n-r],mod-2))%mod; ans=(ans*power(fact[r],mod-2))%mod;
    return ans;
}

struct custom_hash {
    static uint64_t splitmix64(uint64_t x) {
        // http://xorshift.di.unimi.it/splitmix64.c
        x += 0x9e3779b97f4a7c15;
        x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;
        x = (x ^ (x >> 27)) * 0x94d049bb133111eb;
        return x ^ (x >> 31);
    }

    size_t operator()(uint64_t x) const {
        static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
        return splitmix64(x + FIXED_RANDOM);
    }
};
template<class T, class H>using umap=unordered_map<T,H,custom_hash>;
template<class T>using uset=unordered_set<T,custom_hash>;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    // #ifndef ONLINE_JUDGE
    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);
    // #endif
    ll a,b,c;
    cin>>a>>b>>c;
    if(min(a,b)>=0){
        if(a>b)cout<<">"<<endl;
        else if(a<b)cout<<"<"<<endl;
        else cout<<"="<<endl;
    }
    else if(max(a,b)<0){
        if(c%2==0){
            if(a>b)cout<<"<"<<endl;
        else if(a<b)cout<<">"<<endl;
        else cout<<"="<<endl;
        }
        else{
            if(a>b)cout<<">"<<endl;
        else if(a<b)cout<<"<"<<endl;
        else cout<<"="<<endl;
        }
    }
    else{
        if(a<0){
            if(c%2==0){
                if(abs(a)>abs(b))cout<<">"<<endl;
                else if(abs(a)<abs(b))cout<<"<"<<endl;
                else cout<<"="<<endl;
            }
            else{
                cout<<"<"<<endl;
            }
        }
        else{
            if(c%2==0){
                if(abs(b)>abs(a))cout<<"<"<<endl;
                else if(abs(b)<abs(a))cout<<">"<<endl;
                else cout<<"="<<endl;
            }
            else{
                cout<<">"<<endl;
            }
        }
    }
    
    return 0;
}