Another very concrete answer but without any formula:

I suppose you know how to construct "with papers, scissors and glue" a Riemann surface with a single branch point of order 2 (for example the surface of the function $\sqrt z$).  Now take the Riemann surface of the logarithm. It has a countable infinite number of sheets. On each sheet you can add "with papers, scissors and glue" a branch point of order two, at any place you wish except above the origin. In this way you can construct, for any given countable set $A\subset\mathbb C$ a Riemann surface $f : X \to \mathbb C$ which has a branch point above every point of *A*.

Moreover you see in the same way, that you can prescribe any (finite or infinite) order to each branch point (just make glue more sheets like for $\sqrt[n]z$ or $\ln$); and you can also prescribe the number of branch points you want to have above each point of *A* (there can be countable many distinct branch point above each point of *A*).