





from math import pi, sqrt



def     _lowerCAmelCase		(  _lowerCAmelCase     ):
   '''simple docstring'''


   if num <= 0:
      raise ValueError("""math domain error"""     )
   if num > 171.5:
      raise OverflowError("""math range error"""     )
   elif num - int(_lowerCAmelCase     ) not in (0, 0.5):
      raise NotImplementedError("""num must be an integer or a half-integer"""     )
   elif num == 0.5:
      return sqrt(_lowerCAmelCase     )
   else:
      return 1.0 if num == 1 else (num - 1) * gamma(num - 1     )



def     _lowerCAmelCase		(  ):
   '''simple docstring'''


   assert gamma(0.5     ) == sqrt(_lowerCAmelCase     )
   assert gamma(1     ) == 1.0
   assert gamma(2     ) == 1.0


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

      testmod()
      _lowerCAmelCase 				=     1.0
      while num:
            _lowerCAmelCase 				=     float(input("""Gamma of: """))
            print(f'''gamma({num}) = {gamma(num)}''')
            print("""\nEnter 0 to exit...""")













import re



def     _lowerCAmelCase		(  _lowerCAmelCase     ):
   '''simple docstring'''


   A_     :				Any			      =	re.compile(r"""^(\+91[\-\s]?)?[0]?(91)?[789]\d{9}$"""     )
   if match := re.search(_lowerCAmelCase  ,_lowerCAmelCase     ):
      return match.string == phone
   return False


if __name__ == "__main__":
      print(indian_phone_validator("""+918827897895"""))






