Assignment #2automated puzzle solving solution