Почему в решении надо присвоить переменной short отрицательное значение? Ведь она может хранить только числа в диапазоне от 0 до 65 535...