code: def shellsort(inlist):
      n = len(inlist)
      svec = copy.deepcopy(inlist)
      ivec = range(n)
      gap = n / 2
      while gap > 0:
          for i in range(gap, n):
              for j in range(i - gap, -1, -gap):
                  while j >= 0 and svec[j] > svec[j + gap]:
                      temp = svec[j]
                      svec[j] = svec[j + gap]
                      svec[j + gap] = temp
                      itemp = ivec[j]
                      ivec[j] = ivec[j + gap]
                      ivec[j + gap] = itemp
          gap = gap / 2
      return svec, ivec