Prove that $x_n=x$ eventually by the following condition. 
Let $(X,d)$ be a metric space and $\{x_n\}$ be sequence in $X$ which converges to some $x \in X$. Let $S$ denote the range set of the sequence $\{x_n\}$. If $S$ is finite then show that $\exists$ $m \in \mathbb N$ such that $x_n=x$ for all $n \ge m$.

My attempt $:$
If possible let the sequence $\{x_n\}$ does not eventually equal to $x$. Then $\exists$ a subsequence $\{x_{k_n}\}$ of $\{x_n\}$ in $S \setminus \{x\}$ such that $x_{k_n} \rightarrow x$ as $n \rightarrow \infty.$ This shows that $x \in S^d$ where $S^d$ denotes the derived set of $S$ in $(X,d).$ But this implies that every nbd of $x$ contains infinitely many elements of $S$ which is a contradiction since $S$ contains only a finite number of elements. This proves our claim.
Is the above reasoning correct at all? Please verify it.
Thank you in advance.

Let $S = \{x_n: n \in \mathbb{N}; x_n \neq x\}$ be the non-$x$ range of the sequence. (It's $x[\mathbb{N}] \setminus \{x\}$, where $x: \mathbb{N} \to X$ is the sequence, seen, as it should, as a function). Then $X \setminus S$ is an open neighbourhood of $x$ (as finite subsets of metric spaces are closed).
So the convergence says that for all there is some $N$ such that $\forall n \ge N: x_n \in X\setminus S$ and $x_n \in X \setminus S$ only happens if $x_n =x$, by definition of $S$.
