#include<bits/stdc++.h>
#define pii pair<int,int>
#define ff first
#define ss second
#define pb push_back
#define sz 100005
#define sz1 1000005
#define inf 0x3f3f3f3f
#define endl "\n"
using namespace std;
stack<int>st;
queue<int>Q;
priority_queue<int>pq;
int main()
{
int a,b,c,i,n,countS,countQ,countpq,counter1;
while(scanf("%d",&n)!=EOF)
{
countS=countQ=countpq=0;
counter1 = 0;
for(i=1; i<=n; i++)
{
scanf("%d%d",&a,&b);
if(a==2)
{
counter1++;
}
if(a==1)
{
st.push(b);
Q.push(b);
pq.push(b);
}
else if(st.size()>0 || Q.size()>0 || pq.size()>0)
{
if(st.top()==b)
{
countS++;
st.pop();
}
if(Q.front()==b)
{
countQ++;
Q.pop();
}
if(pq.top()==b)
{
countpq++;
pq.pop();
}
}
}
int cnt =0,tag,tag1,tag2;
tag=tag1=tag2=0;
if(countS==counter1)
{
tag=1;
cnt++;
}
if(countQ==counter1)
{
tag1=1;
cnt++;
}
if(countpq==counter1)
{
tag2=1;
cnt++;
}
if(cnt>1)
{
printf("not sure\n");
}
else if(cnt==1)
{
if(tag)
{
printf("stack\n");
}
else if(tag1)
{
printf("queue\n");
}
else if(tag2)
{
printf("priority queue\n");
}
}
else
{
printf("impossible\n");
}
while(!Q.empty())
{
Q.pop();
}
while(!st.empty())
{
st.pop();
}
while(!pq.empty())
{
pq.pop();
}
}
return 0;
}