Yeah, you have to make some assumptions about the source data. I spent a lot of time writing a generalized solver, but it would have taken forever. It’s a lot easier to look at the data and see that it’s carefully crafted to resemble the 15-puzzle, except it’s really more like a 1-puzzle so you can do it by hand.