add puzzle.c