#include <iostream>
using namespace std;
typedef long long ll;
const int N=100009;
int lzy[N<<2],mx[N<<2],mi[N<<2];
int n;
void push(int l,int r,int v)
{
mx[v]+=lzy[v];
mi[v]+=lzy[v];
if(l!=r)lzy[2*v]+=lzy[v],lzy[2*v+1]+=lzy[v];
lzy[v]=0;
}
void add(int ql,int qr,int qv,int l=1,int r=n,int v=1)
{
push(l,r,v);
if(qr<l or r<ql)return;
if(ql<=l and r<=qr)
{
lzy[v]+=qv;
push(l,r,v);
return;
}
int m=(l+r)>>1,lc=v<<1,rc=lc|1;
add(ql,qr,qv,l,m,lc);
add(ql,qr,qv,m+1,r,rc);
mx[v]=max(mx[lc],mx[rc]);
mi[v]=min(mi[lc],mi[rc]);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=0;i<n;i++)
{
int w,t;
cin>>w>>t;
if(t==2)t=-1;
add(1,w,t);
int mx1=mx[1],mi1=mi[1];
if(mx1<=0)
{
cout<<'<'<<endl;
}
else if(mi1>=0)
{
cout<<'>'<<endl;
}
else
{
cout<<'?'<<endl;
}
}
}