'''simple docstring'''




__UpperCAmelCase					={'a': ['c', 'b'], 'b': ['d', 'e'], 'c': [], 'd': [], 'e': []}
__UpperCAmelCase					=['a', 'b', 'c', 'd', 'e']






def __lowerCAmelCase					(				UpperCamelCase__							,    UpperCamelCase__							,    UpperCamelCase__							)      ->       int:
    __lowerCamelCase            =    start
    # add current to visited
    visited.append(A_							)
    __lowerCamelCase            =    edges[current]
    for neighbor in neighbors:
        # if neighbor not in visited, visit
        if neighbor not in visited:
            __lowerCamelCase            =    topological_sort(A_							,    A_							,    A_							)
        # if all neighbors visited add current to sort
    sort.append(A_							)
    # if all vertices haven't been visited select a new one to visit
    if len(A_							) != len(A_							):
        for vertice in vertices:
            if vertice not in visited:
                __lowerCamelCase            =    topological_sort(A_							,    A_							,    A_							)
        # return sort
    return sort


if __name__ == "__main__":
  __UpperCAmelCase					=topological_sort("a", [], [])
  print(sort)


def a__       (			A_=28123   ):






  '''simple docstring'''





  __magic_name__								=			[1] * (limit + 1)

  for i in range(2,	int(limit**0.5   ) + 1   ):
    sum_divs[i * i] += i
    for k in range(i + 1,	limit // i + 1   ):
      sum_divs[k * i] += k + i

  __magic_name__								=			set()
  __magic_name__								=			0

  for n in range(1,	limit + 1   ):
    if sum_divs[n] > n:
      abundants.add(A_   )

    if not any((n - a in abundants) for a in abundants   ):
      res += n

  return res


if __name__ == "__main__":
    print(solution())

