input: Write a function to shuffle a list of elements without using the random module. The function should swap the elements until the list is completely shuffled. If the list is empty or contains only one element, the function should return the list as it is.
  
  assert shuffle_list([1, 2, 3, 4, 5]) != [1, 2, 3, 4, 5]
  assert len(shuffle_list([1, 2, 3, 4, 5])) == 5
  assert shuffle_list([]) == []
  assert shuffle_list([1]) == [1]
output: def shuffle_list(lst):
      n = len(lst)
      if n <= 1:
          return lst
      for i in range(n - 1, 0, -1):
          j = (i * 31) % n
          lst[i], lst[j] = lst[j], lst[i]
      return lst