(1) is wrong, should return 1, but return 0

(-3) is wrong, should return -3, but return 0