def   __A		(			_A = 6008_5147_5143					):



 """simple docstring"""


 try:
  __a       =  int(a_					)
 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."					)
 __a       =  2
 __a       =  0
 if n == 2:
  return 2
 while n > 2:
  while n % i != 0:
   i += 1
  __a       =  i
  while n % i == 0:
   __a       =  n // i
  i += 1
 return int(a_					)


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



import pytest

import datasets.config
from datasets.utils.info_utils import is_small_dataset



@pytest.mark.parametrize("dataset_size"							,				[None, 400 * 2**20, 600 * 2**20]					)
@pytest.mark.parametrize("input_in_memory_max_size"							,				["default", 0, 100 * 2**20, 900 * 2**20]					)
def   __A		(			_A							,				_A							,				_A					):



 """simple docstring"""


 if input_in_memory_max_size != "default":
  monkeypatch.setattr(datasets.config							,				"IN_MEMORY_MAX_SIZE"							,				_A					)
 __a       =  datasets.config.IN_MEMORY_MAX_SIZE
 if input_in_memory_max_size == "default":
  assert in_memory_max_size == 0
 else:
  assert in_memory_max_size == input_in_memory_max_size
 if dataset_size and in_memory_max_size:
  __a       =  dataset_size < in_memory_max_size
 else:
  __a       =  False
 __a       =  is_small_dataset(_A					)
 assert result == expected


