Converging complex sequence I would like to prove the following fact :
if $(a_n)$ is a complex sequence such that :

*

*$|a_n|=1$ for every $n\in \mathbb N$

*$a_{n+1}-a_n \rightarrow 0$

*$(a_n^p)$ converges (for a fixed integer $p\geq 1$)

then $(a_n)$ converges.
As $(a_n)$ is bounded, we can consider a limit point $\ell$ of $(a_n)$. If $\lambda$ is the limit of the sequence $(a_n^p)$ then we have $\ell^p=\lambda$. My goal would be to prove that  $(a_n)$ has only one limit point, but I can't finish it.
 A: Let $s$ be the limit of $(a_n^p)$. We have $|s| = \lim |a_n| = 1$, as $|\cdot|$ is continuous.
Now there are exactly $p$ complex numbers $z_1, \dots, z_p$ such that $z_i^p = s$. Each $z_i$ have absolute value $1$, and we have $X^p - s = \prod_{i = 1}^p (X - z_i)$ for any $X \in \Bbb C$.
Let $\epsilon > 0$ be any real number that is smaller than $\frac 1 3 \min\{|z_i - z_j|: i\neq j\}$.
Since $\lim a_n^p = s$ and $\lim |a_n - a_{n + 1}| = 0$, there exists $M$ such that for any $n \geq M$, we  have $|a_n^p - s| < \epsilon^p$ and $|a_n - a_{n + 1}| < \epsilon$.
The first inequality gives $\prod_{i = 1}^p|a_n - z_i| < \epsilon^p$, so there exists $1 \leq i_n \leq p$ such that $|a_n - z_{i_n}| < \epsilon$.
We now show that $i_n = i_{n + 1}$.
If not, then we would have $$|z_{i_n} - z_{i_{n + 1}}| \leq |a_n - z_{i_n}| + |a_n - a_{n + 1}| + |a_{n + 1} - z_{i_{n + 1}}| < 3\epsilon < \min\{|z_i - z_j|: i \neq j\}$$ which is a contradiction.
Thus for $n \geq M$, all the $i_n$ are equal. We denote it by $i$. A similar argument shows that this index $i$ is also independent of $\epsilon$.
This concludes the proof of $\lim a_n = z_i$.
