


from dataclasses import dataclass
from enum import Enum
from typing import List, Optional, Union

import numpy as np
import PIL
from PIL import Image

from ...utils import BaseOutput, is_torch_available, is_transformers_available


@dataclass
class       __lowerCAmelCase       (	__lowerCAmelCase   ):






  """simple docstring"""





  _SCREAMING_SNAKE_CASE						      =    {
      '''sld_warmup_steps''': 15,
      '''sld_guidance_scale''': 20,
      '''sld_threshold''': 0.0,
      '''sld_momentum_scale''': 0.0,
      '''sld_mom_beta''': 0.0,
  }
  _SCREAMING_SNAKE_CASE						      =    {
      '''sld_warmup_steps''': 10,
      '''sld_guidance_scale''': 1000,
      '''sld_threshold''': 0.01,
      '''sld_momentum_scale''': 0.3,
      '''sld_mom_beta''': 0.4,
  }
  _SCREAMING_SNAKE_CASE						      =    {
      '''sld_warmup_steps''': 7,
      '''sld_guidance_scale''': 2000,
      '''sld_threshold''': 0.025,
      '''sld_momentum_scale''': 0.5,
      '''sld_mom_beta''': 0.7,
  }
  _SCREAMING_SNAKE_CASE						      =    {
      '''sld_warmup_steps''': 0,
      '''sld_guidance_scale''': 5000,
      '''sld_threshold''': 1.0,
      '''sld_momentum_scale''': 0.5,
      '''sld_mom_beta''': 0.7,
  }






@dataclass
class       __lowerCAmelCase       (	__lowerCAmelCase   ):






  """simple docstring"""





  _SCREAMING_SNAKE_CASE						      =    42
  _SCREAMING_SNAKE_CASE						      =    42
  _SCREAMING_SNAKE_CASE						      =    42
  _SCREAMING_SNAKE_CASE						      =    42


if is_transformers_available() and is_torch_available():
   from .pipeline_stable_diffusion_safe import StableDiffusionPipelineSafe
   from .safety_checker import SafeStableDiffusionSafetyChecker








def      _lowerCAmelCase  (							lowerCAmelCase_							:Dict						,  lowerCAmelCase_							:Optional[int]						,  lowerCAmelCase_							:Tuple							)->Optional[Any]:
   '''simple docstring'''






   assert b != 0, "This cannot accept modulo that is == 0"
   if n == 0:
      return 1

   if n % 2 == 1:
      return (bin_exp_mod(lowerCAmelCase_						,  n - 1						,  lowerCAmelCase_							) * a) % b

   snake_case_         =   bin_exp_mod(lowerCAmelCase_						,  n / 2						,  lowerCAmelCase_							)
   return (r * r) % b


if __name__ == "__main__":
   try:
      SCREAMING_SNAKE_CASE		:str											=       int(input('''Enter Base : ''').strip())
      SCREAMING_SNAKE_CASE		:List[Any]											=       int(input('''Enter Power : ''').strip())
      SCREAMING_SNAKE_CASE		:Dict											=       int(input('''Enter Modulo : ''').strip())
   except ValueError:
      print('''Invalid literal for integer''')

   print(bin_exp_mod(BASE, POWER, MODULO))




