#include <bits/stdc++.h>

using namespace std;

#define ar array
#define ll long long

const int MAX_N = 1e5 + 1;
const ll MOD = 1e9 + 7;
const ll INF = 1e9;

void solve() {
    int a,b,c;
    cin >> a >> b >> c;
    if (a==b){
        cout << "=\n";
        return;
    }
    if(c%2==0){
        if(abs(a)==abs(b)){
            cout << "=\n";
        }else if(abs(a)<abs(b)){
            cout << "<\n";
        }else{
            cout << ">\n";
        }
    }else{
        if(a>=0 && b>=0){
            if(a==b){
                cout << "=\n";
            }else if(a>b){
                cout << ">\n";
            }else{
                cout << "<\n";
            }
        }else if(a<0 && b>=0){
            cout << "<\n";
        }else if(a>=0 && b<0){
            cout << ">\n";
        }else{
            if(a==b){
                cout << "=\n";
            }else if(a>b){
                cout << "<\n";
            }else{
                cout << ">\n";
            }
        }
    }
    return;
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int tc = 1;
    // cin >> tc;
    for (int t = 1; t <= tc; t++) {
        // cout << "Case #" << t  << ": ";
        solve();
    }
}
#include<iostream>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<stack>
#include<deque>
#include <algorithm>

using namespace std;

#define mem(a,b) memset(a,b,sizeof a)
#define PII pair<int,int>
#define ll long long
#define ull unsigned long long
#define ft first
#define sd second
#define endl '\n'
#define PI acos(-1.0)
#define lcm(a,b) a/gcd(a,b)*b
#define INF_INT 0x3f3f3f3f
#define debug(a) cout<<#a<<"="<<a<<endl;
#define _for(i,a,b) for( int i=(a); i<(b); ++i)
#define _rep(i,a,b) for( int i=(a); i<=(b); ++i)

//inline void print(__int128 x){if(x<0){putchar('-');x=-x;}if(x>9) print(x/10);putchar(x%10+'0');}
int gcd(int a, int b){return b ? gcd(b, a % b) : a;}
int exgcd(int a, int b, int &x, int &y){if(!b){x = 1; y = 0;return a;}int d = exgcd(b, a % b, y, x);y -= (a/b) * x;return d;}
ll qmi(ll m, ll k, ll p){ll res = 1 % p, t = m;while (k){if (k&1) res = res * t % p;t = t * t % p;k >>= 1;}return res;}
inline int read(){int s=0,x=1;char ch=getchar();while(ch<'0'||ch>'9') {if(ch=='-') x=-1; ch=getchar();}while(ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar(); }return s*x;} 

const int NN = 1e6+7;
const int mod = 1e9+7;

int N,M,k;


ll C(int n, int m){
    if(n<0||m<0) return 0;
    ll res = 1;
    
    _rep(i,1,n+m){
        res = (res*i)%mod;
    }

    _rep(i,2,m){
        ll ni = qmi(i,mod-2,mod);
        res = (res*ni) %mod;
    }
    _rep(i,2,n){
        ll ni = qmi(i,mod-2,mod);
        res = (res*ni) %mod;
    }
    return res;
}
void solve()
{
    cin >> N >> M >> k;
    if(N-k-M > 0) puts("0");
    else{
        cout << (C(N,M)-C(N-k-1,M+k+1)+mod)%mod << endl;
    }
}
int main()
{
    //ios::sync_with_stdio(0);
    int T = 1;
    
    while(T--)
    {
        solve();
    }
    return 0;
} 
