Finding Rank from Characteristic Polynomial

Let $\displaystyle A$ be a $\displaystyle 6x6 $ matrix with characteristic polynomial $\displaystyle x^3(x-1)(x+2)(x+4)$

A) Prove that the rank of $\displaystyle A$ is $\displaystyle 3, 4$ or $\displaystyle 5$.

B) If the rank of $\displaystyle A $ is 5 is $\displaystyle A $ diagonalizable?

A) I understand why rank must be less than $\displaystyle 6$ because$\displaystyle A$ is clearly not signular since it has $\displaystyle 0$ as an eigenvalue, however im having trouble actually proving that the rank must be $\displaystyle 3, 4 $ or $\displaystyle 5$.

B) I think i may have this part. my thought is since Rank = $\displaystyle 5$ Dim of the kernal must be $\displaystyle 1$. Which means that the geometric multiplicity of the $\displaystyle 0$ eigenvalue is $\displaystyle 1$ where as its algebreic multiplicity is $\displaystyle 3$ and since they are not equal it is not diagonalizable. If i understand right, it would be diagonalizable if $\displaystyle A$ was of rank $\displaystyle 3 $, correct?

Thanks for the help!