from collections import deque
import sys
input = sys.stdin.readline
n = int(input().strip())
dd = deque()
for _ in range(n):
k = input().rstrip()
#---------------------
if k == 'pop_front':
# 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력
if dd:
print(dd.popleft())
# 덱에 들어있는 정수가 없는 경우에는 -1을 출력
else:
print(-1)
elif k == 'pop_back':
# 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력
if dd:
print(dd.pop())
# 덱에 들어있는 정수가 없는 경우에는 -1을 출력
else:
print(-1)
#---------------------
# 덱에 들어있는 정수의 개수를 출력
elif k == 'size':
print(len(dd))
# 덱이 비어있으면 1을, 아니면 0을 출력
elif k == 'empty':
if dd:
print(0)
else:
print(1)
#---------------------
elif k == 'front':
# 덱의 가장 앞에 있는 정수를 출력
if dd:
a = dd.popleft()
print(a)
dd.appendleft(a)
# 덱에 들어있는 정수가 없는 경우에는 -1을 출력
else:
print(-1)
elif k == 'back':
# 덱의 가장 뒤에 있는 정수를 출력
if dd:
a = dd.pop()
print(a)
dd.append(a)
# 덱에 들어있는 정수가 없는 경우에는 -1을 출력
else:
print(-1)
#---------------------
else:
k, a = k.split()
a = int(a)
# 정수 a를 덱의 앞에 넣기
if k == 'push_front':
dd.appendleft(a)
# 정수 a를 덱의 뒤에 넣기
elif k == 'push_back':
dd.append(a)