Meromorphic Function in a Compact Riemann Surface

Let $x_{1}, . . . , x_{n}$ be distinct points in a compact Riemann surface $\Sigma$ and let $w_{1}, . . . w_{n}$ be distinct points in $\mathbb{C}$. Show that there is a meromorphic function on which maps $x_{i}$ to $w_{i}$ for $i = 1, . . . , n$.

Given $n$ points on a Riemann surface $x_1$, $\ldots$,$x_n$, there exists a meromorphic function on it with zeroes at all $x_i$, $i\ne 1$ and a pole at $x_1$. Compose this meromorphic function on the left with $z\mapsto \frac{z}{z+1}$ we get a meromorphic function $\phi_1$ which takes value $1$ at $x_1$ and $0$ at all the other points. Do this similarly for all the $x_i$ and get $\phi_i$, and now take $\phi\colon = \sum w_i \phi_i$.
• How can we ensure that there exists a meromorphic function on it with zeroes at all $x_i$, $i\ne 1$ and a pole at $x_1$? – Manoel Jan 6 '17 at 23:44