import sys
from collections import deque
input = sys.stdin.readline
N = int(input())
arr = deque()
for _ in range(N):
val = input().split()
if val[0] == 'push_front':
arr.appendleft(val[1])
elif val[0] == 'push_back':
arr.append(val[1])
elif val[0] == 'pop_front':
if arr: print(arr.popleft())
else: print(-1)
elif val[0] == 'pop_back':
if arr: print(arr.pop())
else: print(-1)
elif val[0] == 'size':
print(len(arr))
elif val[0] == 'empty':
if not arr: print(1)
else: print(0)
elif val[0] == 'front':
if arr: print(arr[0])
else: print(-1)
elif val[0] == 'back':
if arr: print(arr[-1])
else: print(-1)
양쪽에서 모두 삽입/인출이 가능한 스택과 큐의 특징을 모두 갖고 있는 자료구조
( 출처 : 큐(자료구조) 나무위키 )