def pop_order(push_stack, pop_stack): if not push_stack or not pop_stack: return False stack = [] while pop_stack: pop_val = pop_stack[0] if stack and stack[-1] == pop_val: stack.pop() pop_stack.pop(0) else: while push_stack: if push_stack[0] != pop_val: stack.append(push_stack.pop(0)) else: push_stack.pop(0) pop_stack.pop(0) break if not push_stack: while stack: if stack.pop() != pop_stack.pop(0): return False if not pop_stack: return True return False