Algorithms and applications