#!/usr/bin/python

def swap(a, i, j):
  temp = a[i]
  a[i] = a[j]
  a[j] = temp

def newGap(gap):
  gap = gap * 10 / 13
  if gap < 1:
      gap = 1 
  if gap == 9 or gap == 10:
      gap = 11
  return gap

def combsort(a):
  gap = len(a)
  while 1:
    gap = newGap(gap)
    swapped = 0
    for i in range(0, len(a) - gap):
      if a[i] > a[i + gap]:
	swap(a, i, i + gap)
	swapped = 1
    if gap == 1 and not swapped:
        break

a = [1, 6, 5, 3, 8, 6, 9, 7, 2, 4, 0]
combsort(a)
print a
