




"""simple docstring"""




from functools import lru_cache

def  UpperCAmelCase_							(				__UpperCAmelCase						:     Dict							) ->			List[str]:
      SCREAMING_SNAKE_CASE_     						=      2
      SCREAMING_SNAKE_CASE_     						=      set()
      while i * i <= n:
            if n % i:
                  i += 1
            else:
                  n //= i
                  factors.add(__a							)
      if n > 1:
            factors.add(__a							)
      return factors

@lru_cache
def  UpperCAmelCase_							(				__UpperCAmelCase						:     Union[str, Any]							) ->			Any:
      return len(unique_prime_factors(__a							)							)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     int							) ->			Optional[Any]:
      return len(set(__a							)							) in (0, 1)

def  UpperCAmelCase_							(				__UpperCAmelCase						:     Any							) ->			Tuple:
      SCREAMING_SNAKE_CASE_     						=      2

      while True:
            # Increment each value of a generated range
            SCREAMING_SNAKE_CASE_     						=      [base + i for i in range(__a							)]

            # Run elements through out unique_prime_factors function
            # Append our target number to the end.
            SCREAMING_SNAKE_CASE_     						=      [upf_len(__a							) for x in group]
            checker.append(__a							)

            # If all numbers in the list are equal, return the group variable.
            if equality(__a							):
                  return group

            # Increment our base variable by 1
            base += 1

def  UpperCAmelCase_							(				__UpperCAmelCase						:     Dict = 4							) ->			str:
      SCREAMING_SNAKE_CASE_     						=      run(__a							)
      return results[0] if len(__a							) else None


if __name__ == "__main__":
   print(solution())





import random
from typing import Any

def  UpperCAmelCase_							(				__UpperCAmelCase						:     list							) ->			list[Any]:
      for _ in range(len(__UpperCAmelCase							)							):
            SCREAMING_SNAKE_CASE_     						=      random.randint(0      ,      len(__UpperCAmelCase							) - 1							)
            SCREAMING_SNAKE_CASE_     						=      random.randint(0      ,      len(__UpperCAmelCase							) - 1							)
            SCREAMING_SNAKE_CASE_						,			SCREAMING_SNAKE_CASE_     						=      data[b], data[a]
      return data


if __name__ == "__main__":
   lowerCamelCase__			:       Union[str, Any]         =							[0, 1, 2, 3, 4, 5, 6, 7]
   lowerCamelCase__			:       Optional[int]         =							['python', 'says', 'hello', '!']
   print('Fisher-Yates Shuffle:')
   print('List', integers, strings)
   print('FY Shuffle', fisher_yates_shuffle(integers), fisher_yates_shuffle(strings))