Simple algorithm, many implementations.