'''simple docstring'''
from dataclasses import dataclass
from typing import Callable, Optional

import datasets




@dataclass
class _lowerCAmelCase (  datasets.BuilderConfig				):
      UpperCAmelCase_  :	Optional[Callable]     =					None
      UpperCAmelCase_  :	Optional[dict]     =					None
      UpperCAmelCase_  :	Optional[datasets.Features]     =					None







      def     lowerCamelCase__			(     self    ):
        assert self.generator is not None, "generator must be specified"

        if self.gen_kwargs is None:
          lowercase							:       Dict											=      {}





class _lowerCAmelCase (  datasets.GeneratorBasedBuilder				):
      UpperCAmelCase_  :	Tuple     =					GeneratorConfig







      def     lowerCamelCase__			(     self    ):
        return datasets.DatasetInfo(features=self.config.features    )







      def     lowerCamelCase__			(     self     ,						lowercase    ):
        return [datasets.SplitGenerator(name=datasets.Split.TRAIN     ,						gen_kwargs=self.config.gen_kwargs    )]







      def     lowerCamelCase__			(     self     ,						**lowercase    ):
        for idx, ex in enumerate(self.config.generator(**lowercase    )    ):
          yield idx, ex
'''simple docstring'''
def 							__UpperCamelCase   (				__UpperCAmelCase     :				int )       ->  list:
  lowercase							:       Union[str, Any]											=      [True for i in range(n + 1 )]
  lowercase							:       Dict											=      [i - 1 for i in range(n + 1 )]
  lowercase							:       Union[str, Any]											=      []
  for i in range(2   ,      n + 1 ):
    if is_prime[i]:
      primes.append(__UpperCAmelCase )
    for j in range(0   ,      len(__UpperCAmelCase ) ):
      if i * primes[j] >= n:
        break
      lowercase							:       List[str]											=      False

      if i % primes[j] == 0:
        lowercase							:       Optional[Any]											=      totients[i] * primes[j]
        break

      lowercase							:       Union[str, Any]											=      totients[i] * (primes[j] - 1)

  return totients


if __name__ == "__main__":
 import doctest

 doctest.testmod()