4See [3] for a similar algorithm.