Broyles catches 3 TDs as OU beats Stanford 31-27