Introduction to algorithms - Cormen,Thomas H.; Rivest, Ronald L.; Stein, Clifford (The MIT Press, 2022)