//#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<vector>
#include<map>
#include<stack>
#include<queue>
#include<cmath>
#include<fstream>
#include<algorithm>
using namespace std;
#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
//#define CLR(a) memset(a,sizeof(a),0)
typedef long long ll;
typedef unsigned long long ull;
const int INF = 0x3f3f3f3f;
const int maxn=1e6+10;
stack<int>sta;
queue<int>q;
priority_queue<int>pq;
int main(){
// ifstream in;
//ofstream out;
//in.open("in.txt");
// out.open("out.txt");
int n;
while(scanf("%d", &n!=EOF)){
// while(in>>n){
while(!sta.empty())sta.pop();
while(!q.empty())q.pop();
while(!pq.empty())pq.pop();
int f1=1,f2=1,f3=1;
rep(i,1,n){
int cmd,x;
scanf("%d %d", &cmd, &x);
//in>>cmd>>x;
if(cmd==1){
if(f1)sta.push(x);
if(f2)q.push(x);
if(f3)pq.push(x);
}else{
int t1,t2,t3;
if(sta.empty())f1=0;
if(q.empty())f2=0;
if(pq.empty())f3=0;
if(f1){
t1=sta.top();sta.pop();
if(t1!=x)f1=0;
}
if(f2){
t2=q.front();q.pop();
if(t2!=x)f2=0;
}
if(f3){
t3=pq.top();pq.pop();
if(t3!=x)f3=0;
}
}
}
if(f1+f2+f3>1)puts("not sure");
else if(f1+f2+f3==0)puts("impossible");
else if(f1==1){
puts("stack");
}else if(f2==1){
puts("queue");
}else if(f3==1){
puts("priority queue");
}
}
return 0;
}