copy-list-with-random-pointer, use map