input: from typing import List
  
  def find_min_split_cost(arr: List[int]) -> int:
      """
      Given an integer array arr of length n.
  
      The cost of an array is the value of its first element. For instance, the cost of [1,2,3] is 1, and the cost of [3,4,1] is 3.
  
      The task is to split arr into 3 contiguous, non-overlapping subarrays.
  
      Return the smallest possible sum of the costs of these subarrays.
  
      Examples:
      >>> arr = [1,2,3,12]
      6
      >>> arr = [5,4,3]
      12
      >>> arr = [10,3,1,1]
      12
  
      Constraints:
      3 <= n <= 50
      1 <= arr[i] <= 50
      """
output:     
      n = len(arr)
      min_cost = float('inf')
      
      # Check every possible way to split the array into 3 parts
      for i in range(1, n - 1):
          for j in range(i + 1, n):
              cost = arr[0] + arr[i] + arr[j]
              if cost < min_cost:
                  min_cost = cost
      
      return min_cost
  