// #include <iostream>
// #include <bitset>
// #include <vector>
// using namespace std;
// typedef long long ll;
// bitset<100009> dp;
// void solve()
// {
// int n;
// cin>>n;
// vector<int> a(n);
// vector<int> pos(n);
// for(int i=0;i<n;i++)
// {
// pos[i]=1;
// cin>>a[i];
// }
// for(int i=0;i<n;i++)
// {
// dp.reset();
// dp[0]=1;
// int tot=0;
// for(int j=i;j<n;j++)
// {
// dp|=(dp<<a[j]);
// tot+=a[j];
// if(tot%2==0 and dp[tot/2])
// {
// }
// else{
// pos[j-i]=0;
// }
// }
// }
// int cnt=0;
// for(int i=0;i<n;i++)cnt+=pos[i];
// cout<<cnt<<' ';
// for(int j=0;j<n;j++)if(pos[j])cout<<j+1<<' ';
// cout<<endl;
// }
// int main()
// {
// ios::sync_with_stdio(0);
// cin.tie(0);
// cout.tie(0);
// int t;
// cin>>t;
// while(t--)
// {
// solve();
// }
// }
#include <iostream>
using namespace std;
typedef long long ll;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
int sm[n+2]={0};
for(int i=0;i<n;i++)
{
int w,t;
cin>>w>>t;
if(t==2)t=-1;
for(int j=0;j<w;j++)sm[j]+=t;
int mx=0,mi=0;
for(int j=0;j<n;j++)mx=max(mx,sm[j]),mi=min(mi,sm[j]);
if(mx==0)
{
cout<<'<'<<endl;
}
else if(mi==0)
{
cout<<'>'<<endl;
}
else
{
cout<<'?'<<endl;
}
}
}