Пробовал тесты с комментариев, вроде все верно выводит. Может кто подскажет, что не то. Закончились мысли. То ли логику я не так продумал, то ли валидатор только через BigInteger принимает, то ли где-то ошибку допустил.