



"""simple docstring"""






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 			snake_case_    ( A_   :						List[str],							A_   :						List[str],							A_   :						Optional[Any]		):


       '''simple docstring'''





       _lowerCamelCase		:							Any            =					1.5
       _lowerCamelCase		:							Union[str, Any]            =					int(factor * num_class_images		)
       _lowerCamelCase		:							Union[str, Any]            =					ClipClient(
           url='''https://knn.laion.ai/knn-service''',							indice_name='''laion_400m''',							num_images=a__,							aesthetic_weight=0.1		)

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

       while True:
              _lowerCamelCase		:							Optional[int]            =					client.query(text=a__		)
              if len(a__		) >= factor * num_class_images or num_images > 1E4:
                     break
              else:
                     _lowerCamelCase		:							Dict            =					int(factor * num_images		)
                     _lowerCamelCase		:							Dict            =					ClipClient(
                         url='''https://knn.laion.ai/knn-service''',							indice_name='''laion_400m''',							num_images=a__,							aesthetic_weight=0.1,							)

       _lowerCamelCase		:							int            =					0
       _lowerCamelCase		:							Union[str, Any]            =					0
       _lowerCamelCase		:							List[Any]            =					tqdm(desc='''downloading real regularization images''',							total=a__		)

       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		:							Union[str, Any]            =					class_images[count]
                     count += 1
                     try:
                            _lowerCamelCase		:							str            =					requests.get(images['''url''']		)
                            if img.status_code == 2_00:
                                   _lowerCamelCase		:							Optional[int]            =					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 			snake_case_    ( ):


       '''simple docstring'''





       _lowerCamelCase		:							str            =					argparse.ArgumentParser('''''',							add_help=a__		)
       parser.add_argument('''--class_prompt''',							help='''text prompt to retrieve images''',							required=a__,							type=a__		)
       parser.add_argument('''--class_data_dir''',							help='''path to save images''',							required=a__,							type=a__		)
       parser.add_argument('''--num_class_images''',							help='''number of images to download''',							default=2_00,							type=a__		)
       return parser.parse_args()


if __name__ == "__main__":
   lowerCAmelCase__              =							parse_args()
   retrieve(args.class_prompt, args.class_data_dir, args.num_class_images)









def      _UpperCamelCase  (a__ :int = 1000							):






							"""simple docstring"""





							UpperCamelCase__					  =      2**power
							UpperCamelCase__					  =      0
							while n:
														UpperCamelCase__  ,  UpperCamelCase__					  =      r + n % 10, n // 10
							return r


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




