https://srknqaqdakctf.blogspot.com/2021/06/balancing-equations-and-types-of.html