Any $B \subset \{10,11,...,99\}$, with $|B| =10$ has two subsets such that $\sum_{a \in B_1} a = \sum_{b \in B_2} b$

Let there be $B \subset \{10,11,...,99\}$, with $|B| =10$. I need to prove, using the pigeonhole principle, that there are at least two disjoint subsets of $B$ (and none empty) where the sums of their elements are identical. I.e. $\exists B_1 \ne \varnothing, B_2 \ne \varnothing$ such that $B_1 \bigcup B_2 = B$, $B_1 \bigcap B_2 =\varnothing$ and $$\sum_{a \in B_1} a = \sum_{b \in B_2} b$$


A $10$-element subset $B$ of $\{10,\ldots,99\}$ has a sum of at most $90+\cdots+99=945$. This means that there can be at most 946 possible values $(0,\ldots,945)$ for the sum of elements in a subset of $B$.

But $B$ has $2^{10}=1024$ subsets. So at least two subsets, say $S$ and $T$, must have the same sum.

Obviously neither of these can be the empty set, because then the other (non-empty) set must have a non-zero sum. And if $S$ and $T$ are not disjoint, just remove the common elements from each set: $S\setminus T$ and $T\setminus S$. They will still have the same sum, and they will still be non-empty.

This argument goes through unaltered if we allow $B$ to be a subset of $\{0,\ldots,106\}$.