code: def k_array_rank(a):
      
      k = len(a)
      idx = int(a[0])  # Convert to Python int
      for i in range(1, k):
          idx += comb(a[i], i+1, exact=True)
      return idx
docs: Given an array `a` of k distinct nonnegative integers, sorted in
      ascending order, return its ranking in the lexicographic ordering of
      the descending sequences of the elements [1]_.
  
      Parameters
      ----------
      a : ndarray(int, ndim=1)
          Array of length k.
  
      Returns
      -------
      idx : scalar(int)
          Ranking of `a`.
  
      References
      ----------
      .. [1] `Combinatorial number system
         <https://en.wikipedia.org/wiki/Combinatorial_number_system>`_,
         Wikipedia.