input: from typing import List
  
  def count_stable_binary_arrays(zero: int, one: int, limit: int) -> int:
      """
      Given three positive integers zero, one, and limit, determine the number of stable binary arrays.
  
      A binary array arr is deemed stable if:
  
      - The number of 0s in arr equals zero.
      - The number of 1s in arr equals one.
      - Every subarray of arr with a length greater than limit contains both 0 and 1.
  
      Return the total count of stable binary arrays, modulo 10^9 + 7.
  
      Examples:
      >>> zero = 1, one = 1, limit = 2
      2
      >>> zero = 1, one = 2, limit = 1
      1
      >>> zero = 3, one = 3, limit = 2
      14
  
      Constraints:
      1 <= zero, one, limit <= 200
      """
output:     MOD = 10**9 + 7
  
      # Helper function to compute C(n, k) % MOD
      def comb(n, k, mod):
          if k > n:
              return 0
          if k == 0 or k == n:
              return 1
          num = denom = 1
          for i in range(k):
              num = num * (n - i) % mod
              denom = denom * (i + 1) % mod
          return num * pow(denom, mod - 2, mod) % mod
  
      # Sum of Catalan numbers to find valid combinations
      def num_stable_arrays(zero, one):
          if zero == 0 or one == 0:
              return 1
          if zero > one or one > zero + 1:
              return 0
  
          result = 0
          for n in range(max(zero, one), zero + one + 1):
              result = (result + comb(zero + one, n, MOD)) % MOD
          return result
  
      return num_stable_arrays(zero, one)