positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
positive
negative
