code: def retrieve(self, value):
      parent_idx = 0
      while True:
          left_child_idx = 2 * parent_idx + 1
          right_child_idx = left_child_idx + 1
          if left_child_idx >= len(self.tree):
              leaf_idx = parent_idx
              break
          else:
              if value <= self.tree[left_child_idx]:
                  parent_idx = left_child_idx
              else:
                  value -= self.tree[left_child_idx]
                  parent_idx = right_child_idx
      elem_idx = leaf_idx - self.capacity + 1
      priority = self.tree[leaf_idx]
      return self.elements[elem_idx], leaf_idx, priority
  
file_path: PARL/benchmark/fluid/Prioritized_DQN/proportional_per.py
imports: import numpy
label_desc: Use image node_id 5 for calling the SumTree obj's underlying member method code with example usage: obj.retrieve(value) and returns: self,  leaf_idx,  priority