



def 							A     (						__UpperCAmelCase = 20      )			->			int:



						'''simple docstring'''






						try:
												UpperCAmelCase_					=	int(lowerCAmelCase_      )
						except (TypeError, ValueError):
												raise TypeError('''Parameter n must be int or castable to int.'''      )
						if n <= 0:
												raise ValueError('''Parameter n must be greater than or equal to one.'''      )
						UpperCAmelCase_					=	0
						while 1:
												i += n * (n - 1)
												UpperCAmelCase_					=	0
												for j in range(2				,   lowerCAmelCase_      ):
																		if i % j != 0:
																								UpperCAmelCase_					=	1
																								break
												if nfound == 0:
																		if i == 0:
																								UpperCAmelCase_					=	1
																		return i
						return None


if __name__ == "__main__":
							print(f"{solution() = }")






import os
import shutil
import unittest
from unittest.mock import patch

from transformers.testing_utils import CaptureStd, is_pt_tf_cross_test, require_torch





class   lowerCAmelCase    (       unittest.TestCase      ):



     @patch('sys.argv'					,   ['fakeprogrampath', 'env']							)
     def       a__	(       self							):
            # test transformers-cli env
            import transformers.commands.transformers_cli

            with CaptureStd() as cs:
                   transformers.commands.transformers_cli.main()
            self.assertIn('Python version'					,   cs.out							)
            self.assertIn('Platform'					,   cs.out							)
            self.assertIn('Using distributed or parallel set-up in script?'					,   cs.out							)



     @is_pt_tf_cross_test
     @patch(
         'sys.argv'					,   ['fakeprogrampath', 'pt-to-tf', '--model-name', 'hf-internal-testing/tiny-random-gptj', '--no-pr']							)
     def       a__	(       self							):
            import transformers.commands.transformers_cli

            shutil.rmtree('/tmp/hf-internal-testing/tiny-random-gptj'					,   ignore_errors=lowerCAmelCase__							)  # cleans potential past runs
            transformers.commands.transformers_cli.main()

            # The original repo has no TF weights -- if they exist, they were created by the CLI
            self.assertTrue(os.path.exists('/tmp/hf-internal-testing/tiny-random-gptj/tf_model.h5'							)							)



     @require_torch
     @patch('sys.argv'					,   ['fakeprogrampath', 'download', 'hf-internal-testing/tiny-random-gptj', '--cache-dir', '/tmp']							)
     def       a__	(       self							):
            import transformers.commands.transformers_cli

            # # remove any previously downloaded model to start clean
            shutil.rmtree('/tmp/models--hf-internal-testing--tiny-random-gptj'					,   ignore_errors=lowerCAmelCase__							)

            # run the command
            transformers.commands.transformers_cli.main()

            # check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--tiny-random-gptj
            self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--tiny-random-gptj/blobs'							)							)
            self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--tiny-random-gptj/refs'							)							)
            self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--tiny-random-gptj/snapshots'							)							)





     @require_torch
     @patch(
         'sys.argv'					,   [
             'fakeprogrampath',
             'download',
             'hf-internal-testing/test_dynamic_model_with_tokenizer',
             '--trust-remote-code',
             '--cache-dir',
             '/tmp',
         ]					,   )
     def       a__	(       self							):
            import transformers.commands.transformers_cli

            # # remove any previously downloaded model to start clean
            shutil.rmtree('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer'					,   ignore_errors=lowerCAmelCase__							)

            # run the command
            transformers.commands.transformers_cli.main()

            # check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer
            self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/blobs'							)							)
            self.assertTrue(os.path.exists('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/refs'							)							)
            self.assertTrue(
                os.path.exists('/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/snapshots'							)							)