"""simple docstring"""






def 			UpperCAmelCase__       (				lowerCAmelCase__     :str		) ->    str:
      '''simple docstring'''


      if not all(char in """01""" for char in bin_string		):
            raise ValueError("""Non-binary value was passed to the function"""		)
      if not bin_string:
            raise ValueError("""Empty string was passed to the function"""		)
      lowercase														=	""""""
      while len(lowerCAmelCase__		) % 3 != 0:
            lowercase														=	"""0""" + bin_string
      lowercase														=	[
          bin_string[index : index + 3]
          for index in range(len(lowerCAmelCase__		)		)
          if index % 3 == 0
      ]
      for bin_group in bin_string_in_3_list:
            lowercase														=	0
            for index, val in enumerate(lowerCAmelCase__		):
                  oct_val += int(2 ** (2 - index) * int(lowerCAmelCase__		)		)
            oct_string += str(lowerCAmelCase__		)
      return oct_string


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

       testmod()




"""simple docstring"""






from __future__ import annotations

from typing import Any





class  _A						:

      def __init__(						self		,       __lowerCAmelCase = 6						):







            """simple docstring"""



            lowercase														=	None
            lowercase														=	None
            self.create_linked_list(__lowerCAmelCase						)

      def 				A__       (						self		,       __lowerCAmelCase						):







            """simple docstring"""



            lowercase														=	Node()
            lowercase														=	current_node
            lowercase														=	current_node
            lowercase														=	current_node
            for _ in range(1		,       __lowerCAmelCase						):
                  lowercase														=	Node()
                  lowercase														=	current_node
                  lowercase														=	previous_node
                  lowercase														=	current_node
            lowercase														=	self.front
            lowercase														=	previous_node

      def 				A__       (						self						):







            """simple docstring"""



            return (
                self.front == self.rear
                and self.front is not None
                and self.front.data is None
            )

      def 				A__       (						self						):







            """simple docstring"""



            self.check_can_perform_operation()
            return self.front.data if self.front else None

      def 				A__       (						self		,       __lowerCAmelCase						):







            """simple docstring"""



            if self.rear is None:
                  return

            self.check_is_full()
            if not self.is_empty():
                  lowercase														=	self.rear.next
            if self.rear:
                  lowercase														=	data

      def 				A__       (						self						):







            """simple docstring"""



            self.check_can_perform_operation()
            if self.rear is None or self.front is None:
                  return None
            if self.front == self.rear:
                  lowercase														=	self.front.data
                  lowercase														=	None
                  return data

            lowercase														=	self.front
            lowercase														=	old_front.next
            lowercase														=	old_front.data
            lowercase														=	None
            return data

      def 				A__       (						self						):







            """simple docstring"""



            if self.is_empty():
                  raise Exception("""Empty Queue"""						)







      def 				A__       (						self						):







            """simple docstring"""



            if self.rear and self.rear.next == self.front:
                  raise Exception("""Full Queue"""						)






class  _A						:

      def __init__(						self						):







            """simple docstring"""



            lowercase														=	None
            lowercase														=	None
            lowercase														=	None


if __name__ == "__main__":
       import doctest

       doctest.testmod()



