docs: def _get_rho(self, w, arr):
          """ Return the least signifiant bit
              O(N) in the worst case
          """
          lsb = 0
          while not (w & arr[lsb]):
              lsb += 1
          return lsb + 1