





from __future__ import annotations

from typing import Any
class     UpperCamelCase__					(     lowerCamelCase__				):






		'''simple docstring'''






		pass




class     UpperCamelCase__					:






		'''simple docstring'''






		def __init__(							self,   snake_case__  )       -> None:






									"""simple docstring"""
									lowercase_	:   Any  				=     data
									lowercase_	:   Node | None  				=     None






		def __iter__(							self  )       -> str:






									"""simple docstring"""
									lowercase_	:   Optional[Any]  				=     self
									lowercase_	:   Optional[int]  				=     []
									while node:
																if node in visited:
																							raise ContainsLoopError
																visited.append(snake_case__  )
																yield node.data
																lowercase_	:   Optional[Any]  				=     node.next_node






		@property
		def 						snake_case__				(							self  )       -> bool:






									"""simple docstring"""
									try:
																list(self  )
																return False
									except ContainsLoopError:
																return True


if __name__ == "__main__":
							UpperCAmelCase_							=				Node(1)
							UpperCAmelCase_							=				Node(2)
							UpperCAmelCase_							=				Node(3)
							UpperCAmelCase_							=				Node(4)
							print(root_node.has_loop)  # False
							UpperCAmelCase_							=				root_node.next_node
							print(root_node.has_loop)  # True

							UpperCAmelCase_							=				Node(5)
							UpperCAmelCase_							=				Node(6)
							UpperCAmelCase_							=				Node(5)
							UpperCAmelCase_							=				Node(6)
							print(root_node.has_loop)  # False

							UpperCAmelCase_							=				Node(1)
							print(root_node.has_loop)  # False






UpperCAmelCase_							=				8.31_44_62  # Unit - J mol-1 K-1





def  __magic_name__  (				lowercase				,       lowercase				,       lowercase				)				-> float:

							"""simple docstring"""



							if moles < 0 or kelvin < 0 or volume < 0:
														raise ValueError("""Invalid inputs. Enter positive value."""				)
							return moles * kelvin * UNIVERSAL_GAS_CONSTANT / volume





def  __magic_name__  (				lowercase				,       lowercase				,       lowercase				)				-> float:

							"""simple docstring"""



							if moles < 0 or kelvin < 0 or pressure < 0:
														raise ValueError("""Invalid inputs. Enter positive value."""				)
							return moles * kelvin * UNIVERSAL_GAS_CONSTANT / pressure


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

							testmod()