halls-algorithm