문제
다음과 같은 명령을 처리하는 프로그램을 작성하라.
• add x - 집합 S에 정수 x를 추가한다. 단, 여기서 x는 집합 S에 포함되지 않은 수여야 한다.
• del x - 집합 S에 정수 x를 제거한다. 단, 여기서 x는 집합 S에 포함된 수여야 한다.
• sum - 집합 S의 중간값들의 합을 출력한다.
원소의 개수가 k 인 집합 S = { a1, a2, ..., ak } ( 단, a1 < a2 < a3 < ... < ak) 일 때의 S의 중간값들의 합은 다음과 같이 정의가 된다.
\displaystyle\sum_{mod 5=3}^{i\leq k} a_i
위에서 x mod y 는 x를 y로 나눴을 때의 나머지를 뜻한다.
프로그래밍 수행되기 시작할 때 집합 S는 처음에 공집합으로 시작된다.
입력
입력의 첫째 줄에는 명령의 개수 Q가 입력된다. Q는 1이상 100,000이하의 정수다.
그 다음부터 Q줄에는 처리해야 하는 명령이 입력되며, 형식은 다음과 같다.
• add x
• del x
• sum
여기서 x는 109보다 작은 양의 정수다.
출력
sum이 들어왔을때 마다 집합 S의 중간값들의 합을 출력한다.
만약 집합 S가 공집합일 경우나 원소의 개수가 3개 미만일 경우에는 0을 출력한다.
예제 #1
6
add 4
add 5
add 1
add 2
add 3
sum
3
예제 #2
14
add 1
add 7
add 2
add 5
sum
add 6
add 8
add 9
add 3
add 4
add 10
sum
del 1
sum
5
11
13