#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> P;

#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define print(x) cout << x << endl
#define all(v) (v).begin(),(v).end()
#define YN(ok) print((ok ? "YES" : "NO"))
#define yn(ok) print((ok ? "Yes" : "No"))
#define decimal(n) setprecision(25) << n

#define Arrays_toString(v) rep(o,(v).size()){cout<<v[o]<<", ";if(o==(v).size()-1){cout<<endl;}}

vi primes = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47};

int main(void){
    int n; cin >> n;
    vi v(n);
    rep(i, n) cin >> v[i];
    int m = primes.size();
    
    ll res = 3e18;
    rep(i, (1<<m)) {
        ll s = 1;
        rep(j, m) {
            if (i & (1<<j)) {
                s *= primes[j];
            }
        }
        
        bool ok = true;
        rep(j, n) {
            ll g = __gcd(s, (ll)v[j]);
            if (g == 1) ok = false;
        }
        
        if (ok) res = min(res, s);
    }
    print(res);
}
#include<bits/stdc++.h>
#define ll long long
#define re register
#define INF 2147483647
using namespace std;

inline int read()
{
	int f=1,x=0;char s=getchar();
	while(s<'0'||s>'9')
	{
		if(s=='-') f=-1;
		s=getchar();
	}
	while(s>='0'&&s<='9')
	{
		x=x*10+s-48;
		s=getchar();
	}
	return f*x;
}

int main()
{
	int a=read(),b=read(),c=read();
	if(a>0&&b>0)
	{
		if(a==b) puts("=");
		else if(a>b) puts(">");
			else puts("<");
		return 0;
	}
	if(c&1)
	{
		if(a<=0&&b<=0)
		{
			if(abs(a)==abs(b)) puts("=");
			else if(abs(a)<abs(b)) puts(">");
				else puts("<");
		}
		if(a<=0&&b>0) puts("<");
		if(a>0&&b<=0) puts(">");
	}
	else
	{
		if(abs(a)==abs(b)) puts("=");
		else if(abs(a)<abs(b)) puts("<");
			else puts(">");
	}
	return 0;
}