SOJ ONLINE JUDGE

C++ Vector

난이도: Bronze III 출제자: rlatjwls7882 시간 제한: 1000 ms 메모리 제한: 512 MB
자료 구조구현

처음에 빈 벡터 $V$가 있다.

$Q$개의 쿼리를 순서대로 처리하라.

쿼리는 다음 중 하나이다.

  • push_back x: $V$의 뒤에 정수 $x$를 추가한다. $(-10^9 \leq x \leq 10^9)$
  • pop_back: $V$의 마지막 원소를 삭제한다.
  • front: $V$의 첫 번째 원소를 출력한다.
  • back: $V$의 마지막 원소를 출력한다.
  • get i: $V$의 $i$번째 원소를 출력한다. $(0 \leq i < |V|)$

pop_back, front, back, get 쿼리는 항상 올바른 상태에서만 주어진다.

입력

첫 번째 줄에 쿼리의 개수 $Q$가 주어진다. $(1 \leq Q \leq 100\,000)$

두 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 하나씩 주어진다.

출력

front, back, get 쿼리마다 결과를 한 줄에 하나씩 출력한다.

예제 입력 1

10
push_back 3
push_back 7
front
back
get 1
pop_back
back
push_back 10
get 1
front

예제 출력 1

3
7
7
3
10
3

제출