https://alawirisaddam.blogspot.com/2020/08/algorithms-operators.html