Analytic function in the closed unit disc I'm trying to solve this problem:

If $f: \overline{\Delta}=\overline{\Delta}(0,1) \rightarrow \mathbb{C}$ is a continuous nonconstant that is analytic in $\Delta = \Delta(0,1)$ and satisfies $|f(z)|=1$ for every $z \in \mathbb{C}$ with $|z|=1$, prove that 
  $$f(z) = c \prod_{k=1}^r \left( \dfrac{z-a_k}{1-\overline{a}_kz} \right)^{m_k}$$
  for every $z \in \overline{\Delta}$, onde $a_1,a_2,...,a_r$ are distinct point in $\Delta$, $m_1,m_2,\ldots, m_r$ positive intergers and $c \in \mathbb{C}$ is such that $|c|=1$. 

Here is what i got:
Looking to the formula that we have to get, i see that $a_i$'s are the zeros of the function, so I have to find then.
Since the modulos of the function is one is the boundary of the unit disc, then we know that $f$ has at least one zero in $\Delta$, lets say $a_1$ with multiplicity $m_1$.
$$f(z) = (z-a_1)^{m_1}g(z)$$
where g is analytic in $\overline{\Delta}$ and $g(a_1) \neq 0$.
What I don't know how to prove:

$f$ have a finite number of zeros in $\Delta$.

Suppose I know that. Lets say the zeros are $a_1,a_2, \ldots, a_r$ with respective multiplicity $m_1,\ldots,m_r$. Then 
$$f(z) = (z-a_1)^{m_1}(z-a_2)^{m_2} \ldots (z-a_r)^{m_r}h(z)$$
where $h$ is analytic in $\overline{\Delta}$ and $h(a_k)\neq 0$ for $k=1,\ldots,r$.
Two things I think I have to use now
\begin{eqnarray}
|f(z)|= |(z-a_1)|^{m_1}|(z-a_2)|^{m_2} \ldots |(z-a_r)|^{m_r}|h(z)|=1
\end{eqnarray}
and $\left| \dfrac{z-a_k}{1-\overline{a}_kz} \right| = 1$ if and only if $|z|=1$. 

How I know that $h$ looks like $h(z) = \dfrac{c}{(1-\overline{a}_1z)\cdots (1-\overline{a}_rz)}$ ?

 A: $f$ has a zero of order $n$ at $z=0$, look at $g(z) = z^{-n}f(z)$. It is analytic on $|z| < 1$ and continuous on $|z| \le 1$ and $|g(z)|=1$ for $|z|=1$. Then $$G(z) = \begin{cases}g(z) \text{ for } |z| \le 1 \\ 1/\overline{g(1/\overline{z})}\text{ for } |z| > 1 \end{cases} $$ is meromorphic on $|z| \ne 1$ and continuous on $\mathbb{C}$. By the Schwarz reflection principle, it is meromorphic everywhere. Also $\lim_{z \to \infty} G(z) = 1/\overline{g(0)}$ so $G$ is analytic for $|z| > R$ large enough.
$G$ has (with multiplicity) a finite number $k$ of poles on $1 < |z| \le R$, so that $$H(z)=G(z) \prod_{m=1}^k (1-a_m z)$$
is entire and bounded by a polynomial of degree $k$. By the Liouville theorem $H$ is a polynomial of degree $k$, and
$$G(z) = C \frac{\prod_{m=1}^{k} (z-b_m)}{\prod_{m=1}^k (1-a_mz)}$$
Finally, since $h_c(z)=\frac{1-cz}{z-c}$ is bounded as $z \to \infty$
$$J(z) = G(z) \prod_{m=1}^{k} h_{a_m}(z)$$
is entire and bounded so it is constant. And hence
$$G(z) = \frac{1}{J(1)}\prod_{m=1}^{k} \frac{z-\overline{a_m}}{1-z a_m}$$
Where $|J(1)|=1$ as desired.
