#include <bits/stdc++.h>
using namespace std;

#define ll                long long int
#define ld                long double

#define hcf               __gcd
#define test              cout<<"hello";
#define pie                3.14159265358979323846

#define maxa(v)           *(max_element(all(v))
#define mina(v)           *(min_element(all(v))

#define pb                push_back
#define ppb               pop_back
#define pf                push_front
#define ppf               pop_front
#define mp                make_pair
#define mt                make_tuple
#define eb                emplace_back

#define mod               1000000007
#define ss                second
#define ff                first
#define inf               (int)1e9

#define all(x)            (x).begin(),(x).end()
#define unique(v)         (v).erase(unique(all(v)),(v).end())
#define sz(x)             (int)((x).size())
#define asort(v)          sort(v.begin(),v.end())
#define dsort(v)          sort(v.begin(),v.end(),greater<int>())
#define bs(v,k)           binary_search(v.begin(),v.end(),k)
#define ub(v,k)           (upper_bound(v.begin(),v.end(),k)-v.begin())
#define lb(v,k)           (lower_bound(v.begin(),v.end(),k)-v.begin())
#define present(c,e)      (c.find(e) != c.end())
#define cpresent(c,e)     (find(all(c),e) != c.end())
#define tr(c,it)          for(typeof(c.begin()) it = c.begin(); it != c.end(); it++)
#define rep(i, begin, end) for (__typeof(end) i = (begin) - ((begin) > (end)); i != (end) - ((begin) > (end)); i += 1 - 2 * ((begin) > (end)))


inline int powMod(int a, int b) {int x = 1; while (b > 0) { if (b&1) x = (x*a) % mod; a = (a*a) % mod; b >>= 1; } return x; }
inline int multiply(int x, int y) { return ((x % mod) * (y % mod)) % mod; }
inline int divide(int x, int y) { return ((x % mod) * powMod(y % mod, mod-2)) % mod; }
inline int ceil(int a, int b) { return (a+b-1)/b; }
inline int log2(int x) { return 31 - __builtin_clz(x); }
int gcd (int a, int b) { while (b) { a %= b; swap(a, b); } return a; }
int lcm (int a, int b) { return a / gcd(a, b) * b; }

bool is_palindrome(const string &s) {
    return equal(s.begin(), s.begin() + s.size() / 2, s.rbegin());
}

int binarysearch(int a[],int b,int l,int r){
        int mid=(l+r)/2;
        if(l>r) return (int)-1;
        if(a[mid]==b||l==r) return mid;
        if(a[mid]>b)    return binarysearch(a,b,l,mid-1);
        else return binarysearch(a,b,mid+1,r);
}

long long nCr(int n,int r){
        if(n==r)    return 1;
        else if (r==0)  return 1;
        else return ((nCr(n-1,r-1)+nCr(n-1,r))%mod);
}
bool isPrime(ll n) { 
        if (n <= 1) return false; 
        if (n <= 3) return true; 
     
        if (n%2 == 0 || n%3 == 0) return false; 
     
        for (ll i=5; i*i<=n; i=i+6) 
            if (n%i == 0 || n%(i+2) == 0) 
            return false; 
     
        return true; 
}

signed 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

  int tsc=1;
  //cin>>tsc;
  while(tsc--){
        
        int a,b,c;
        cin>>a>>b>>c;

        if(a==0 and b==0){
            cout<<'=';return 0;
        }
        if(c%2==1){
            if(a>=0 and b>=0){
                if(a==b){cout<<'=';}
                else if(a>b){cout<<'>';}
                else cout<<'<'; 
            }
            else if(a>=0 and b<0){
                cout<<'>';
            }
            else if(a<0 and b>=0){
                cout<<'<';
            }
            else{
                if(a==b){cout<<'=';}
                else if(a>b){cout<<'>';}
                else cout<<'<'; 
            }
        }
        else{
            a=abs(a);b=abs(b);
            if(a==b){cout<<'=';}
            else if(a>b){cout<<'>';}
            else cout<<'<';
        }
  
    
    
















cout<<endl;}return 0;}

 

#include <bits/stdc++.h>
//#include <ext/pb_ds/tree_policy.hpp>
//#include <ext/pb_ds/assoc_container.hpp>

//#define ordered_set tree<int, null_type, less<int >,rb_tree_tag, tree_order_statistics_node_update>
//using namespace __gnu_pbds;
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#define ll long long
#define ld long double
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(),v.rend()
#define vii vector<int>
#define vll vector<ll>
#define clr(v, d) memset(v,d,sizeof(v))
using namespace std;
const int N = 2e5 + 9;



int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    ll a,b,c;
    cin>>a>>b>>c;
    if(c&1){
        if(a>b)cout<<">\n";
        else if(b>a)cout<<"<\n";
        else cout<<"=\n";
    }
    else{
        a=abs(a);
        b=abs(b);
        if(a>b)cout<<">\n";
        else if(b>a)cout<<"<\n";
        else cout<<"=\n";
    }

    return 0;
}