

from __future__ import annotations







def 		_lowercase (     lowercase__						):  # This function is recursive
      __lowerCAmelCase					:						str					=					len(lowercase__						)
      # If the array contains only one element, we return it (it's the stop condition of
      # recursion)
      if array_length <= 1:
            return array
            # Else
      __lowerCAmelCase					:						List[Any]					=					array[0]
      __lowerCAmelCase					:						List[Any]					=					False
      __lowerCAmelCase					:						int					=					1
      __lowerCAmelCase					:						list[int]					=					[]
      while not is_found and i < array_length:
            if array[i] < pivot:
                  __lowerCAmelCase					:						str					=					True
                  __lowerCAmelCase					:						Union[str, Any]					=					[element for element in array[i:] if element >= array[i]]
                  __lowerCAmelCase					:						List[str]					=					longest_subsequence(lowercase__						)
                  if len(lowercase__						) > len(lowercase__						):
                        __lowerCAmelCase					:						Optional[int]					=					temp_array
            else:
                  i += 1

      __lowerCAmelCase					:						Union[str, Any]					=					[element for element in array[1:] if element >= pivot]
      __lowerCAmelCase					:						List[str]					=					[pivot, *longest_subsequence(lowercase__						)]
      if len(lowercase__						) > len(lowercase__						):
            return temp_array
      else:
            return longest_subseq


if __name__ == "__main__":
 import doctest

 doctest.testmod()





def 		_lowercase (     lowercase__   ,	lowercase__						):
      if a < 0 or b < 0:
            raise ValueError('''the value of both inputs must be positive'''						)
      __lowerCAmelCase					:						int					=					str(bin(lowercase__						)						)[2:]  # remove the leading "0b"
      __lowerCAmelCase					:						Any					=					str(bin(lowercase__						)						)[2:]
      __lowerCAmelCase					:						List[str]					=					max(len(lowercase__						)   ,	len(lowercase__						)						)
      return "0b" + "".join(
          str(int('''1''' in (char_a, char_b)						)						)
          for char_a, char_b in zip(a_binary.zfill(lowercase__						)   ,	b_binary.zfill(lowercase__						)						)						)


if __name__ == "__main__":
 import doctest

 doctest.testmod()


