






'''simple docstring'''





from __future__ import annotations

import math
import random
def __UpperCAmelCase (			A			:	int	,   A			:	int	,   A			:	int						)  -> list[int]:
			UpperCAmelCase_     :   Optional[int]       =   d * e - 1
			UpperCAmelCase_     :   Optional[Any]       =   0
			UpperCAmelCase_     :   List[str]       =   0
			while p == 0:
						UpperCAmelCase_     :   List[str]       =   random.randint(2	,   n - 1						)
						UpperCAmelCase_     :   List[str]       =   k
						while True:
									if t % 2 == 0:
												UpperCAmelCase_     :   Union[str, Any]       =   t // 2
												UpperCAmelCase_     :   str       =   (g**t) % n
												UpperCAmelCase_     :   Dict       =   math.gcd(x - 1	,   A						)
												if x > 1 and y > 1:
															UpperCAmelCase_     :   Union[str, Any]       =   y
															UpperCAmelCase_     :   Tuple       =   n // y
															break  # find the correct factors
									else:
												break  # t is not divisible by 2, break and choose another g
			return sorted([p, q]						)


if __name__ == "__main__":
						import doctest

						doctest.testmod()














'''simple docstring'''





import unittest

import torch

from diffusers import DDIMScheduler, TextToVideoZeroPipeline
from diffusers.utils import load_pt, require_torch_gpu, slow

from ..test_pipelines_common import assert_mean_pixel_difference


@slow
@require_torch_gpu
class 				snake_case__     (			unittest.TestCase):




					def 						A     (       self       :						Optional[Any]     )  ->    List[str]:
								UpperCAmelCase_     :   Optional[Any]       =   '''runwayml/stable-diffusion-v1-5'''
								UpperCAmelCase_     :   Optional[int]       =   TextToVideoZeroPipeline.from_pretrained(_A							,				torch_dtype=torch.floataa     ).to('''cuda'''     )
								UpperCAmelCase_     :   Tuple       =   DDIMScheduler.from_config(pipe.scheduler.config     )
								UpperCAmelCase_     :   Tuple       =   torch.Generator(device='''cuda'''     ).manual_seed(0     )

								UpperCAmelCase_     :   List[Any]       =   '''A bear is playing a guitar on Times Square'''
								UpperCAmelCase_     :   List[Any]       =   pipe(prompt=_A							,				generator=_A     ).images

								UpperCAmelCase_     :   Any       =   load_pt(
								    '''https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main/text-to-video/A bear is playing a guitar on Times Square.pt'''     )

								assert_mean_pixel_difference(_A							,				_A     )


