Solving Rubik's cube with Group Theory