음주 코딩

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

오늘은 ACM-ICPC 대회 전날이다. 상근이는 긴장을 풀기 위해 팀원들과 근처 술집에 갔다.

상근이와 친구들은 다음 날 있을 대회를 연습할 겸 간단한 게임을 하기로 했다.

먼저 선영이가 상근이에게 정수 $N$개로 이루어진 수열 $X_1, X_2, \dots, X_N$을 적어 준다. 게임은 총 $K$번의 라운드로 진행되며, 매 라운드마다 선영이는 다음 두 종류 중 하나의 명령을 내린다.

  • 변경: 수열의 한 값을 다른 값으로 바꾼다.
  • 곱셈: 선영이가 $i$와 $j$를 말하면, 상근이는 곱 $X_i \times X_{i+1} \times \dots \times X_j$가 양수인지, 음수인지, 0인지를 대답한다.

곱셈 명령에서 답을 틀리면 벌칙으로 소주를 한 잔 마셔야 한다. 다행히 선영이가 노트북 사용을 허락해 주었고, 상근이는 자신의 암산 실력보다 코딩 실력을 더 믿는다.

상근이를 도와 각 곱셈 명령의 결과를 알려 주는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 파일의 끝까지 각 테스트 케이스를 차례대로 처리한다.

각 테스트 케이스의 첫째 줄에는 수열의 크기 $N$과 라운드 수 $K$가 주어진다. ($1 \le N, K \le 10^5$)

둘째 줄에는 수열의 값 $X_1, X_2, \dots, X_N$이 공백으로 구분되어 주어진다. ($-100 \le X_i \le 100$)

이어지는 $K$개의 줄에는 명령이 한 줄에 하나씩 주어진다. 각 명령은 문자 C 또는 P로 시작한다.

  • C i V: 변경 명령. $X_i$의 값을 $V$로 바꾼다. ($1 \le i \le N$, $-100 \le V \le 100$)
  • P i j: 곱셈 명령. $X_i \times \dots \times X_j$의 부호를 묻는다. ($1 \le i \le j \le N$)

각 테스트 케이스에는 곱셈 명령이 적어도 한 번 이상 주어진다.

출력

각 테스트 케이스마다, 그 테스트 케이스의 모든 곱셈 명령의 결과를 순서대로 이어 붙여 한 줄에 출력한다. $i$번째 문자는 $i$번째 곱셈 명령의 결과이며, 곱이 양수이면 +, 음수이면 -, 0이면 0을 출력한다.

힌트

발머의 피크 이론(Ballmer's Peak Theory)은 프로그래머의 혈중 알코올 농도가 0.129%와 0.138% 사이일 때 초인적인 코딩 실력을 발휘한다는 (농담 섞인) 이론이다.