code: def lorenz_curve(y):
      
  
      n = len(y)
      y = np.sort(y)
      s = np.zeros(n + 1)
      s[1:] = np.cumsum(y)
      cum_people = np.zeros(n + 1)
      cum_income = np.zeros(n + 1)
      for i in range(1, n + 1):
          cum_people[i] = i / n
          cum_income[i] = s[i] / s[n]
      return cum_people, cum_income
docs: Calculates the Lorenz Curve, a graphical representation of the distribution of income
      or wealth.
  
      It returns the cumulative share of people (x-axis) and the cumulative share of income earned
  
      Parameters
      ----------
      y : array_like(float or int, ndim=1)
          Array of income/wealth for each individual. Unordered or ordered is fine.
  
      Returns
      -------
      cum_people : array_like(float, ndim=1)
          Cumulative share of people for each person index (i/n)
      cum_income : array_like(float, ndim=1)
          Cumulative share of income for each person index
  
  
      References
      ----------
      .. [1] https://en.wikipedia.org/wiki/Lorenz_curve
  
      Examples
      --------
      >>> a_val, n = 3, 10_000
      >>> y = np.random.pareto(a_val, size=n)
      >>> f_vals, l_vals = lorenz(y)