


import argparse
import os
from io import BytesIO
from pathlib import Path

import requests
from clip_retrieval.clip_client import ClipClient
from PIL import Image
from tqdm import tqdm





def      _lowercase					(						_UpperCAmelCase			,      _UpperCAmelCase			,      _UpperCAmelCase				)						->  Union[str, Any]:
				lowerCamelCase	 =1.5
				lowerCamelCase	 =int(factor * num_class_images				)
				lowerCamelCase	 =ClipClient(
				    url="""https://knn.laion.ai/knn-service"""			,      indice_name="""laion_400m"""			,      num_images=__snake_case			,      aesthetic_weight=0.1				)

				os.makedirs(F"""{class_data_dir}/images"""			,      exist_ok=__snake_case				)
				if len(list(Path(F"""{class_data_dir}/images"""				).iterdir()				)				) >= num_class_images:
								return

				while True:
								lowerCamelCase	 =client.query(text=__snake_case				)
								if len(__snake_case				) >= factor * num_class_images or num_images > 1e4:
												break
								else:
												lowerCamelCase	 =int(factor * num_images				)
												lowerCamelCase	 =ClipClient(
												    url="""https://knn.laion.ai/knn-service"""			,      indice_name="""laion_400m"""			,      num_images=__snake_case			,      aesthetic_weight=0.1			,      )

				lowerCamelCase	 =0
				lowerCamelCase	 =0
				lowerCamelCase	 =tqdm(desc="""downloading real regularization images"""			,      total=__snake_case				)

				with open(F"""{class_data_dir}/caption.txt"""			,      """w"""				) as fa, open(F"""{class_data_dir}/urls.txt"""			,      """w"""				) as fa, open(
				    F"""{class_data_dir}/images.txt"""			,      """w"""				) as fa:
								while total < num_class_images:
												lowerCamelCase	 =class_images[count]
												count += 1
												try:
																lowerCamelCase	 =requests.get(images["""url"""]				)
																if img.status_code == 2_00:
																				lowerCamelCase	 =Image.open(BytesIO(img.content				)				)
																				with open(F"""{class_data_dir}/images/{total}.jpg"""			,      """wb"""				) as f:
																								f.write(img.content				)
																				fa.write(images["""caption"""] + """\n"""				)
																				fa.write(images["""url"""] + """\n"""				)
																				fa.write(F"""{class_data_dir}/images/{total}.jpg""" + """\n"""				)
																				total += 1
																				pbar.update(1				)
																else:
																				continue
												except Exception:
																continue
				return





def      _lowercase					(						)						->  Dict:
				lowerCamelCase	 =argparse.ArgumentParser(""""""			,      add_help=__snake_case				)
				parser.add_argument("""--class_prompt"""			,      help="""text prompt to retrieve images"""			,      required=__snake_case			,      type=__snake_case				)
				parser.add_argument("""--class_data_dir"""			,      help="""path to save images"""			,      required=__snake_case			,      type=__snake_case				)
				parser.add_argument("""--num_class_images"""			,      help="""number of images to download"""			,      default=2_00			,      type=__snake_case				)
				return parser.parse_args()


if __name__ == "__main__":
							UpperCAmelCase__						:			List[str]									=parse_args()
							retrieve(args.class_prompt, args.class_data_dir, args.num_class_images)












from math import sqrt





def      _lowercase					(						_UpperCAmelCase				)						->  int:
				lowerCamelCase	 =0
				for i in range(1			,      int(sqrt(_UpperCAmelCase				) + 1				)				):
								if n % i == 0 and i != sqrt(_UpperCAmelCase				):
												total += i + n // i
								elif i == sqrt(_UpperCAmelCase				):
												total += i
				return total - n





def      _lowercase					(						_UpperCAmelCase = 1_00_00				)						->  int:
				lowerCamelCase	 =sum(
				    i
				    for i in range(1			,      _UpperCAmelCase				)
				    if sum_of_divisors(sum_of_divisors(_UpperCAmelCase				)				) == i and sum_of_divisors(_UpperCAmelCase				) != i				)
				return total


if __name__ == "__main__":
							print(solution(int(str(input()).strip())))





