meromorphic, rational function

Let $\displaystyle f(z)$ be a meromorphic function on the complex plane, and suppose there is an integer $\displaystyle m$ such that $\displaystyle f^{-1}(w)$ has at most $\displaystyle m$ points for all $\displaystyle w \in \mathbb{C}$. Show that $\displaystyle f(z)$ is a rational function.

The back of the book says:

Choose $\displaystyle w_0$ such that the number of points in $\displaystyle f^{-1}(w_0)$ is maximum. Then $\displaystyle f(z)$ attains values $\displaystyle w$ near $\displaystyle w_0$ only near points in $\displaystyle f^{-1}(w_0)$, $\displaystyle \frac{1}{f(z)-w_0}$ is bounded at $\displaystyle \infty$, and $\displaystyle f(z)$ is meromorphic on $\displaystyle \overline{\mathbb{C}}$ hence rational. This seems a bit too sketchy. I think that $\displaystyle \frac{1}{f(z)-w_0}$ is bounded at $\displaystyle \infty$ by taking $\displaystyle \lim_{z \rightarrow \infty} f(z)$. How is $\displaystyle f(z)$ meromorphic on $\displaystyle \overline{\mathbb{C}}$? Also, how does $\displaystyle f(z)$ attain values $\displaystyle w$ near $\displaystyle w_0$ only near points in $\displaystyle f^{-1}(w_0)$. I understand that it is the maximum. However, I don't see precisely why. Thanks.