




import math
import unittest

def 					UpperCAmelCase_							(      __UpperCAmelCase						:	int							)					-> bool:
      assert isinstance(__UpperCAmelCase			,			__UpperCAmelCase							) and (
          number >= 0
      ), "'number' must been an int and positive"

      if 1 < number < 4:
            # 2 and 3 are primes
            return True
      elif number < 2 or number % 2 == 0 or number % 3 == 0:
            # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
            return False

      # All primes number are in format of 6k +/- 1
      for i in range(5			,			int(math.sqrt(__UpperCAmelCase							) + 1							)			,			6							):
            if number % i == 0 or number % (i + 2) == 0:
                  return False
      return True





class        lowerCamelCase_							(      unittest.TestCase					):


 '''simple docstring'''







 def       lowerCAmelCase_  (							self  :		Optional[Any]						):
       self.assertTrue(is_prime(2						)						)
       self.assertTrue(is_prime(3						)						)
       self.assertTrue(is_prime(5						)						)
       self.assertTrue(is_prime(7						)						)
       self.assertTrue(is_prime(11						)						)
       self.assertTrue(is_prime(13						)						)
       self.assertTrue(is_prime(17						)						)
       self.assertTrue(is_prime(19						)						)
       self.assertTrue(is_prime(23						)						)
       self.assertTrue(is_prime(29						)						)




 def       lowerCAmelCase_  (							self  :		Optional[Any]						):
       with self.assertRaises(_lowerCAmelCase						):
             is_prime(-19						)
       self.assertFalse(
           is_prime(0						)				,				'Zero doesn\'t have any positive factors, primes must have exactly two.'				,				)
       self.assertFalse(
           is_prime(1						)				,				'One only has 1 positive factor, primes must have exactly two.'				,				)
       self.assertFalse(is_prime(2 * 2						)						)
       self.assertFalse(is_prime(2 * 3						)						)
       self.assertFalse(is_prime(3 * 3						)						)
       self.assertFalse(is_prime(3 * 5						)						)
       self.assertFalse(is_prime(3 * 5 * 7						)						)


if __name__ == "__main__":
   unittest.main()





import re

from filelock import FileLock


try:
   import nltk

   lowerCamelCase__ :   str					=							True
except (ImportError, ModuleNotFoundError):
   lowerCamelCase__ :   Union[str, Any]					=							False

if NLTK_AVAILABLE:
   with FileLock('.lock') as lock:
      nltk.download('punkt', quiet=True)

def 					UpperCAmelCase_							(      __UpperCAmelCase						:	str							)					-> str:
      re.sub('<n>'			,			''			,			__UpperCAmelCase							)  # remove pegasus newline char
      assert NLTK_AVAILABLE, "nltk must be installed to separate newlines between sentences. (pip install nltk)"
      return "\n".join(nltk.sent_tokenize(__UpperCAmelCase							)							)