docs: def heuristic(self, state):
          '''Returns an *estimation* of the distance from a state to the goal.
             We are using the manhattan distance.
          '''
          rows = string_to_list(state)
  
          distance = 0
  
          for number in '12345678e':
              row_n, col_n = find_location(rows, number)
              row_n_goal, col_n_goal = goal_positions[number]
  
              distance += abs(row_n - row_n_goal) + abs(col_n - col_n_goal)
  
          return distance