input: def split_into_balanced(s: str) -> int:
      """
      Given a string s, the task is to divide it into the fewest number of balanced substrings. For instance, if s == "ababcc", possible valid splits include ("abab", "c", "c"), ("ab", "abc", "c"), and ("ababcc"), while partitions like ("a", "bab", "cc"), ("aba", "bc", "c"), and ("ab", "abcc") are invalid. Bolded substrings indicate imbalance.
  
      The function returns the minimum count of substrings required to partition the string s.
  
      Note: A balanced string has an equal number of each character.
  
      Examples:
      >>> s = "fabccddg"
      3
      >>> s = "abababaccddb"
      2
  
      Constraints:
      1 <= s.length <= 1000
      s includes only lowercase English characters.
      """
output:     count = 0
      balanced_count = 0
      char_count = {}
  
      for char in s:
          if char not in char_count:
              char_count[char] = 0
          char_count[char] += 1
          count += 1
  
          is_balanced = True
          for key in char_count:
              if char_count[key] != count // len(char_count):
                  is_balanced = False
                  break
  
          if is_balanced:
              balanced_count += 1
              count = 0
              char_count = {}
  
      return balanced_count