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