divisor n p | p>ceiling(sqrt (fromIntegral n)) = [n] | True = if n`mod`p==0 then p:(divisor n (p+1)) else divisor n (p+1) main=do n<-getLine>>=return.(read::String->Integer) print$head$divisor n 3