Rubik's Cube and Group Theory