discussion balancing algorithm