Belt scores in 18th inning as Giants beat Rockies 3-2