combination sum reimpl