beecrowd | 1301
# Interval Product

**Timelimit: 2**

By Renato Parente, IME-USP Brazil

It's normal to feel worried and tense the day before a programming contest. To relax, you went out for a drink with some friends in a nearby pub. To keep your mind sharp for the next day, you decided to play the following game. To start, your friends will give you a sequence of **N** integers **X**_{1}, **X _{2}**,...,

- a change command, when your friends want to change one of the values in the sequence; or
- a product command, when your friends give you two values
**I**,**J**and ask you if the product**X**x_{I}**X**x ... x_{I+1}**X**x_{J-1}**X**_{J}is positive, negative or zero.

Since you are at a pub, it was decided that the penalty for a wrong answer is to drink a pint of beer. You are worried this could affect you negatively at the next day's contest, and you don't want to check if Ballmer's peak theory is correct. Fortunately, your friends gave you the right to use your notebook. Since you trust more your coding skills than your math, you decided to write a program to help you in the game.

Each test case is described using several lines. The first line contains two integers **N** and **K**, indicating respectively the number of elements in the sequence and the number of rounds of the game (1 ≤ **N**, **K** ≤ 10^{5}). The second line contains **N** inteiros **X*** _{i}* that represent the initial values of the sequence (-100 ≤

For each test case output a line with a string representing the result of all the product commands in the test case. The i-th character of the string represents the result of the i-th productcommand. If the result of the command is positive the character must be '+' (plus); if the result is negative the character must be '-' (minus); if the result is zero the character must be '0'.

Sample Input | Sample Output |

4 6 |
0+- |