

import math

def 			__snake_case	(   __UpperCamelCase  :   int						):



      """simple docstring"""

      if n <= 0:
            raise ValueError("Only positive integers have prime factors"						)
      A_	     =							[]
      while n % 2 == 0:
            pf.append(2						)
            A_	     =							int(n / 2						)
      for i in range(3							,int(math.sqrt(__UpperCamelCase						)						) + 1							,2						):
            while n % i == 0:
                  pf.append(__UpperCamelCase						)
                  A_	     =							int(n / i						)
      if n > 2:
            pf.append(__UpperCamelCase						)
      return pf

def 			__snake_case	(   __UpperCamelCase  :   int						):



      """simple docstring"""

      if n <= 0:
            raise ValueError("Only positive numbers are accepted"						)
      A_	     =							1
      A_	     =							1
      while n % 2 == 0:
            temp += 1
            A_	     =							int(n / 2						)
      div *= temp
      for i in range(3							,int(math.sqrt(__UpperCamelCase						)						) + 1							,2						):
            A_	     =							1
            while n % i == 0:
                  temp += 1
                  A_	     =							int(n / i						)
            div *= temp
      if n > 1:
            div *= 2
      return div

def 			__snake_case	(   __UpperCamelCase  :   int						):



      """simple docstring"""

      if n <= 0:
            raise ValueError("Only positive numbers are accepted"						)
      A_	     =							1
      A_	     =							1
      while n % 2 == 0:
            temp += 1
            A_	     =							int(n / 2						)
      if temp > 1:
            s *= (2**temp - 1) / (2 - 1)
      for i in range(3							,int(math.sqrt(__UpperCamelCase						)						) + 1							,2						):
            A_	     =							1
            while n % i == 0:
                  temp += 1
                  A_	     =							int(n / i						)
            if temp > 1:
                  s *= (i**temp - 1) / (i - 1)
      return int(__UpperCamelCase						)

def 			__snake_case	(   __UpperCamelCase  :   int						):



      """simple docstring"""

      A_	     =							n
      for x in set(prime_factors(__UpperCamelCase						)						):
            s *= (x - 1) / x
      return int(__UpperCamelCase						)


if __name__ == "__main__":
      import doctest

      doctest.testmod()


def 			__snake_case	(   __UpperCamelCase  :   str						):



      """simple docstring"""

      A_	     =							len(__UpperCamelCase						)
      A_	     =							[0] * length
      A_	     =							[[False for i in range(__UpperCamelCase						)] for j in range(__UpperCamelCase						)]
      for i, c in enumerate(__UpperCamelCase						):
            A_	     =							i
            for j in range(i + 1						):
                  if c == string[j] and (i - j < 2 or is_palindromic[j + 1][i - 1]):
                        A_	     =							True
                        A_	     =							min(__UpperCamelCase							,0 if j == 0 else (cut[j - 1] + 1)						)
            A_	     =							mincut
      return cut[length - 1]


if __name__ == "__main__":
      __a						:Union[str, Any]            = input('Enter the string: ').strip()
      __a						:Tuple            = find_minimum_partitions(s)
      print(F"Minimum number of partitions required for the '{s}' is {ans}")