input: from typing import List
  from functools import reduce
  import math
  def minimize_array_length(nums: List[int]) -> int:
      """
      You have a 0-indexed integer array containing positive integers.
  
      Your objective is to reduce the array's size by executing the following steps any number of times (including zero):
  
      Choose two different indices i and j from nums, ensuring nums[i] > 0 and nums[j] > 0.
  
      Append the result of nums[i] % nums[j] to the end of nums.
  
      Remove the elements located at indices i and j from nums.
  
      Return a single integer representing the smallest possible length of nums after conducting the operations any number of times.
  
      Examples:
      >>> nums = [1,4,3,1]
      1
      >>> nums = [5,5,5,10,5]
      2
      >>> nums = [2,3,4]
      1
  
      Constraints:
      1 <= len(nums) <= 10^5
      1 <= nums[i] <= 10^9
      """
output:     
      def gcd(a, b):
          while b:
              a, b = b, a % b
          return a
  
      def reduce_gcd(arr):
          return reduce(gcd, arr)
  
      return 1 if len(nums) == 0 else reduce_gcd(nums)
  