ways to represent a puzzle