My idea is to somehow show that the group $O_n$ is both open closed which will imply $O_n=B$. Then assign to each $n$ the set of points $O_n\subseteq B$ such that $p^{-1}(b)$ has exactly $n$ points. But I don't know how to fill in the details.
Edit: If someone can provide the proof in it's entirety that would be great. I am just doing a self-study, this question has gone unanswered for a while now.
For all $k\in \mathbb N\cup\{\infty\}$, let $O_k=\{x\in B\,:\, |p^{-1}(x)|=k\}$. We will show that each $O_k$ is open. By definition, the sets $O_k$ form a partition of $B$. Suppose that there is more than one nonempty $O_k$, say $O_n$ and $O_m$. Let $U=O_n$ and $V=B\setminus O_n$. Then $U$ is open, while $V$ is a union of the other sets in the partition, which are all open themselves, so it is open too. Furthermore $O_m\subset V$, so $V\neq\emptyset$. The separation $U,V$ then contradicts the connectedness of $B$.
To see each $O_k$ is open, let $x\in O_k$. It has an evenly covered neighborhood $U$. By definition of even covering, $p^{-1}(y)$ will have $k$ elements for all $y\in U$. So $U\subset O_k$. Since we can find a neighborhood $U$ in $O_k$ around every point $x$ in $O_k$, this shows $O_k$ is open.