[see also: go
The idea of the following proof, which yields both (a) and (b) at one stroke, is due to von Neumann.