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

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