
"""simple docstring"""





from collections import defaultdict
from math import gcd



def  lowerCamelCase__						(     __snake_case = 1_50_00_00      )				->						int:


					"""simple docstring"""





					_UpperCamelCase									=    defaultdict(__snake_case      )
					_UpperCamelCase									=    2
					while 2 * euclid_m * (euclid_m + 1) <= limit:
										for euclid_n in range((euclid_m % 2) + 1,	__snake_case,	2      ):
															if gcd(__snake_case,	__snake_case      ) > 1:
																				continue
															_UpperCamelCase									=    2 * euclid_m * (euclid_m + euclid_n)
															for perimeter in range(__snake_case,	limit + 1,	__snake_case      ):
																				frequencies[perimeter] += 1
										euclid_m += 1
					return sum(1 for frequency in frequencies.values() if frequency == 1      )


if __name__ == "__main__":
				print(F"""{solution() = }""")












from pathlib import Path

import fire
from tqdm import tqdm




def 		lowerCAmelCase_ (						lowerCamelCase="ro"						,  lowerCamelCase="en"						,  lowerCamelCase="wmt16"						,  lowerCamelCase=None ):
				try:
								import datasets
				except (ModuleNotFoundError, ImportError):
								raise ImportError("""run pip install datasets""" )
				__magic_name__						:						Dict										=F"{src_lang}-{tgt_lang}"
				print(F"Converting {dataset}-{pair}" )
				__magic_name__						:						Dict										=datasets.load_dataset(lowerCamelCase						,  lowerCamelCase )
				if save_dir is None:
								__magic_name__						:						Optional[int]										=F"{dataset}-{pair}"
				__magic_name__						:						int										=Path(lowerCamelCase )
				save_dir.mkdir(exist_ok=lowerCamelCase )

				for split in ds.keys():
								print(F"Splitting {split} with {ds[split].num_rows} records" )

								# to save to val.source, val.target like summary datasets
								__magic_name__						:						Dict										="""val""" if split == """validation""" else split
								__magic_name__						:						List[Any]										=save_dir.joinpath(F"{fn}.source" )
								__magic_name__						:						Optional[int]										=save_dir.joinpath(F"{fn}.target" )
								__magic_name__						:						Optional[Any]										=src_path.open("""w+""" )
								__magic_name__						:						List[Any]										=tgt_path.open("""w+""" )

								# reader is the bottleneck so writing one record at a time doesn't slow things down
								for x in tqdm(ds[split] ):
												__magic_name__						:						str										=x["""translation"""]
												src_fp.write(ex[src_lang] + """\n""" )
												tgt_fp.write(ex[tgt_lang] + """\n""" )

				print(F"Saved {dataset} dataset to {save_dir}" )


if __name__ == "__main__":
							fire.Fire(download_wmt_dataset)




