n = size(a, 1);
s = {1};
D = Inf*(1:n);
P = cell(1,n);
while numel(s)
p = s{end};
s(end)=[];
t = a(p(end),:);
k = setdiff(find(t), p);
for q = k
r = [p q];
s{end+1} = r;
d = 0;
for i = 2:nnz(r)
d = d + norm(b(r(i),:) - b(r(i-1),:));
end
l=r(end);
if d < D(l)
D(l) = d;
P{l} = r;
end
end
end
D(D>9e9)=0;
[i,j]=max(D);
c=P{j}