#51837: python解


curtis97865@gmail.com (a a)

學校 : 不指定學校
編號 : 314694
來源 : [122.121.168.39]
最後登入時間 :
2025-09-28 11:49:08

import sys
import heapq
from collections import deque

def main():
    while True:
        try:
            n = int(sys.stdin.readline())
        except:
            break

        stack = []
        queue = deque()
        pqueue = []

        is_stack = True
        is_queue = True
        is_pqueue = True

        for _ in range(n):
            parts = sys.stdin.readline().split()
            op = int(parts[0])
            x = int(parts[1])

            if op == 1:
                stack.append(x)
                queue.append(x)
                heapq.heappush(pqueue, -x)  # max-heap
            elif op == 2:
                if is_stack:
                    if not stack or stack.pop() != x:
                        is_stack = False
                if is_queue:
                    if not queue or queue.popleft() != x:
                        is_queue = False
                if is_pqueue:
                    if not pqueue or -heapq.heappop(pqueue) != x:
                        is_pqueue = False

        total = is_stack + is_queue + is_pqueue
        if total == 0:
            print("impossible")
        elif total > 1:
            print("not sure")
        else:
            if is_stack:
                print("stack")
            elif is_queue:
                print("queue")
            else:
                print("priority queue")

if __name__ == "__main__":
    main()