I first saw this topic presented to a group of middle and high school students at the Boston Math Circle at Northeastern University. The presenter was a professor at one of the colleges in the greater Boston area, but I do not recall her name. Since then, I have shared this presentation with many groups of students. I love the fact that it requires very little prior knowledge of high school mathematics, though references to properties of operations and function composition provide touch stones for students who have had some algebra. I also love the fact that students can be introduced to group theory, and then can use it to solve a wide range of challenging problems. When presented as a 90 minute talk, here is the pacing that I have used. When I have used this with middle school Math Circle students, I spread the topic out over more sessions. I give them much more time on each part, we tend to go farther afield exploring side questions that they bring up, and we get into more extension problems of their creation.