





def 		A_				(     _lowerCAmelCase     )						-> str:
 UpperCamelCase	:					Tuple       	=   0

 # if input_string is "aba" than new_input_string become "a|b|a"
 UpperCamelCase	:					Any       	=   ""
 UpperCamelCase	:					List[Any]       	=   ""

 # append each character + "|" in new_string for range(0, length-1)
 for i in input_string[: len(_lowerCAmelCase     ) - 1]:
  new_input_string += i + "|"
 # append last character
 new_input_string += input_string[-1]

 # we will store the starting and ending of previous furthest ending palindromic
 # substring
 UpperCamelCase	,    UpperCamelCase	:					List[str]       	=   0, 0

 # length[i] shows the length of palindromic substring with center i
 UpperCamelCase	:					Any       	=   [1 for i in range(len(_lowerCAmelCase     )     )]

 # for each character in new_string find corresponding palindromic string
 UpperCamelCase	:					Optional[Any]       	=   0
 for j in range(len(_lowerCAmelCase     )     ):
  UpperCamelCase	:					str       	=   1 if j > r else min(length[l + r - j] // 2							,   r - j + 1     )
  while (
      j - k >= 0
      and j + k < len(_lowerCAmelCase     )
      and new_input_string[k + j] == new_input_string[j - k]
  ):
   k += 1

  UpperCamelCase	:					Optional[Any]       	=   2 * k - 1

  # does this string is ending after the previously explored end (that is r) ?
  # if yes the update the new r to the last index of this
  if j + k - 1 > r:
   UpperCamelCase	:					List[str]       	=   j - k + 1  # noqa: E741
   UpperCamelCase	:					Union[str, Any]       	=   j + k - 1

  # update max_length and start position
  if max_length < length[j]:
   UpperCamelCase	:					Union[str, Any]       	=   length[j]
   UpperCamelCase	:					List[Any]       	=   j

    # create that string
 UpperCamelCase	:					Optional[Any]       	=   new_input_string[start - max_length // 2 : start + max_length // 2 + 1]
 for i in s:
  if i != "|":
   output_string += i

 return output_string


if __name__ == "__main__":
    import doctest

    doctest.testmod()







def 		A_				(     _lowerCAmelCase     )						-> str:
 UpperCamelCase	:					Optional[int]       	=   int(_lowerCAmelCase     )
 if decimal in (0, 1):  # Exit cases for the recursion
  return str(_lowerCAmelCase     )
 UpperCamelCase	,    UpperCamelCase	:					Dict       	=   divmod(_lowerCAmelCase							,   2     )
 return binary_recursive(_lowerCAmelCase     ) + str(_lowerCAmelCase     )



def 		A_				(     _lowerCAmelCase     )						-> str:
 UpperCamelCase	:					Tuple       	=   str(_lowerCAmelCase     ).strip()
 if not number:
  raise ValueError("No input value was provided"     )
 UpperCamelCase	:					Optional[int]       	=   "-" if number.startswith("-"     ) else ""
 UpperCamelCase	:					Any       	=   number.lstrip("-"     )
 if not number.isnumeric():
  raise ValueError("Input value is not an integer"     )
 return F"""{negative}0b{binary_recursive(int(_lowerCAmelCase     )     )}"""


if __name__ == "__main__":
    from doctest import testmod

    testmod()
