input: Write a Python function to solve the travelling salesman problem by calculating the Euclidean distance between points and finding the shortest route.
  assert travelling_salesman([(0, 0), (2, 2), (3, 1), (1, 3)]) == [(0, 0), (1, 3), (2, 2), (3, 1)]
  assert travelling_salesman([(0, 0), (1, 1), (2, 2)]) == [(0, 0), (1, 1), (2, 2)]
  assert travelling_salesman([(1, 1), (4, 4), (5, 5), (2, 2)]) == [(1, 1), (2, 2), (4, 4), (5, 5)]
output: import itertools
  import math
  
  def travelling_salesman(points):
      def euclidean_distance(point1, point2):
          return math.sqrt((point1[0] - point2[0]) ** 2 + (point1[1] - point2[1]) ** 2)
  
      def total_distance(route):
          return sum(euclidean_distance(route[i], route[i + 1]) for i in range(len(route) - 1))
  
      best_route = min(itertools.permutations(points), key=total_distance)
      return list(best_route)