Shanghai Marathon attracts 35000 runners