n = gets.to_i m = (3..Math.sqrt(n).to_i).find{|m| n.modulo(m).zero? } p !m.nil? ? m : n.even? ? n/2 : n