C++ Deque
처음에 빈 덱 $D$가 있다.
$Q$개의 쿼리를 순서대로 처리하라.
쿼리는 다음 중 하나이다.
push_front x: $D$의 앞에 정수 $x$를 추가한다. $(-10^9 \leq x \leq 10^9)$push_back x: $D$의 뒤에 정수 $x$를 추가한다. $(-10^9 \leq x \leq 10^9)$pop_front: $D$의 첫 번째 원소를 삭제한다.pop_back: $D$의 마지막 원소를 삭제한다.front: $D$의 첫 번째 원소를 출력한다.back: $D$의 마지막 원소를 출력한다.size: $D$의 크기를 출력한다.
pop_front, pop_back, front, back 쿼리는 항상 올바른 상태에서만 주어진다.
입력
첫 번째 줄에 쿼리의 개수 $Q$가 주어진다. $(1 \leq Q \leq 100\,000)$
두 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 하나씩 주어진다.
출력
front, back, size 쿼리마다 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
10 push_back 3 push_front 1 front back size push_back 5 pop_front front pop_back back
예제 출력 1
1 3 2 3 3