Hamiltonian Diffeomorphisms Form a Group