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, and this 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, as you would do 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 aboveabove each point of A you may want to have a countable number of distinct branch points).