You could calculate a value, a signature, (er, a hash?) that's based on the collection of a craft's parts. When you come back to find a mishmash of two crafts with two #1's.. two #2's.. and so on, you calculate signatures for the possibilities of their combination to work out which parts belong to each original craft, and then spot a match. Sounds inefficient I know (relatively anyway - what is it, 2^[no. of parts]? possibilities) but then again, the way the two sets of parts arrange themselves in your new, combined list, would be the same from each pair to pair of the same number I would imagine, if you know what I mean, yeah. E.g. it turns out the order is #1a, #1b, #2a, #2b, #3a, #3b.. as opposed to something like #1a, #1b, #2a, #2b, #3b, #3a.. So.. at the very least, you've now been mentally stimulated. I hope. Haha.