It all starts with a shuffling. We have a sorted list, we take out groups of numbers and we insert them in random positions: Then, it is about sorting the numbers back using the same approach, in a minimum numbers of steps (which doesn't have to be identical to a number of steps taken during shuffling, but as we shuffled this way it is guaranteed that the process can be reversed). Actually I don't care about how to find the solution. My question is - is it a known problem? Something that you can easily google if you know the name or correct keywords? Apparently I don't know them, but I have never studied CS and my English is limited, so chances are I am missing something obvious. It is one of possible problems for a competition and I don't want to use something that people will know how to solve right away.