C++ Map
처음에 빈 맵 $M$이 있다.
$Q$개의 쿼리를 순서대로 처리하라.
쿼리는 다음 중 하나이다.
insert k v: $M$에 키 $k$와 값 $v$를 저장한다. $(-10^9 \leq k,v \leq 10^9)$erase k: $M$에서 키 $k$를 삭제한다. $(-10^9 \leq k \leq 10^9)$count k: $M$에 키 $k$가 있으면1, 없으면0을 출력한다. $(-10^9 \leq k \leq 10^9)$get k: $M$에 키 $k$가 있으면 대응하는 값을, 없으면-1을 출력한다. $(-10^9 \leq k \leq 10^9)$size: $M$에 저장된 키의 개수를 출력한다.
이미 있는 키를 추가하면 값을 새로 주어진 값으로 바꾸고, 없는 키를 삭제하면 아무 일도 일어나지 않는다.
입력
첫 번째 줄에 쿼리의 개수 $Q$가 주어진다. $(1 \leq Q \leq 100\,000)$
두 번째 줄부터 $Q$개의 줄에 걸쳐 쿼리가 하나씩 주어진다.
출력
count, get, size 쿼리마다 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
13 size insert 3 10 get 3 count 3 insert 3 20 get 3 size insert 5 -7 size erase 3 count 3 get 3 get 5
예제 출력 1
0 10 1 20 1 2 0 -1 -7