Liam O’Brien passed for four touchdowns and ran for another score, Jared Richardson had 157 yards receiving and three scores, and Pennsylvania beat Columbia 35-21 for its third consecutive win.