 checkedTopGroups = {}
 findUserToSchool = (users) ->
   # We find the top user from the top group that we can make the most reasoned suggestions about what the school name would be.
-  [bestTarget, bestTargetSuggestions, mostReasons, bestGroup] = [null, [], 0, null]
+  [bestTarget, bestTargetSuggestions, bestSuggestionsScore, bestGroup] = [null, [], 0, null]
   for field, groups of topGroups
     for nextLargestGroup in groups when not checkedTopGroups[nextLargestGroup]
       possibleTargets = userCategories[field][nextLargestGroup]

      alreadyDone = false
      for schoolName in schoolNames when schoolName?.length > 10 and /,.+,/.test schoolName  # Long enough school name with location info (two commas)
        sharedCount = _.filter(possibleTargets, schoolName: schoolName).length
        if sharedCount > 0.5 * possibleTargets.length
          console.log 'Already done', schoolName, sharedCount, possibleTargets.length, 'for', field, nextLargestGroup
          alreadyDone = true
      continue if alreadyDone

      nextPrompt remainingUsers

findNumbers = (answer, max) ->
  answer = answer.replace /,/g, ' '
  numbers = (parseInt(d, 10) for d in (' ' + answer + ' ').replace(/ /g, '  ').match(/ (\d+) /g) ? [])
  ranges = answer.match(/(\d+-\d+)/g) or []
  for range in ranges
