Vanderbilt struggles to score late but hangs on to defeat St. Mary's