I have a weird algorithm that will produce different output, even with the same input, and can be fully reversed back to the pieces that built the puzzle..