function stsp_recursion(free,fixed)

global STSP_tours;
k=length(free);
if k==0
  l=length(fixed);
  if (fixed(2)>fixed(l))
     return;
  end
  STSP_tours=[STSP_tours; fixed];
  return
end
for i=1:k
  stsp_recursion([free(1:i-1) free(i+1:k)],[fixed free(i)]);
end

