#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <queue> #include <stack> using namespace std; int n; int main() { while(~scanf("%d",&n)) { int flag1=1,flag2=1,flag3=1;//stack成立,queu成立,priority_queue成立 stack<int> ss; queue<int> q; priority_queue<int> pq; int a,b; for(int i=1;i<=n;i++) { scanf("%d%d",&a,&b); if(a==1) { if(flag1) ss.push(b); if(flag2) q.push(b); if(flag3) pq.push(b); } else if(a==2) { if(flag1) { if(ss.size()) { int w=ss.top(); ss.pop(); if(w!=b) flag1=0; } else flag1=0; } if(flag2) { if(q.size()) { int w=q.front(); q.pop(); if(w!=b) flag2=0; } else flag2=0; } if(flag3) { if(pq.size()) { int w=pq.top(); pq.pop(); if(w!=b) flag3=0; } else flag3=0; } } } if(flag1==1&&flag2==0&&flag3==0) printf("stack\n"); else if(flag1==0&&flag2==1&&flag3==0) printf("queue\n"); else if(flag1==0&&flag2==0&&flag3==1) printf("priority queue\n"); else if(flag1==0&&flag2==0&&flag3==0) printf("impossible\n"); else printf("not sure\n"); } return 0; }