public static <T extends Comparable<T>> void shellSort(List<T>list) {
		int[]gap={1,3,5,7,11,29,37,83};
		for (int i=gap.length-1,n=list.size();i>=0;--i)
			for (int j=gap[i];j<n;j+=gap[i])
				for (int k=j;k-gap[i]>=0;k-=gap[i])
					if (list.get(k-gap[i]).compareTo(list.get(k))>0) Collections.swap(list,k-gap[i],k);
					else break;
	}