


"""simple docstring"""
from manim import *





class        __A       (__UpperCamelCase):





							'''simple docstring'''

							def 						lowerCAmelCase    (			self							: int    )   ->List[Any]:



														"""simple docstring"""



														snake_case_          =						Rectangle(height=0.5						,    width=0.5    )
														snake_case_          =						Rectangle(height=0.25						,    width=0.25    )
														snake_case_          =						Rectangle(height=0.46						,    width=0.46    ).set_stroke(width=0    )

														snake_case_          =						[mem.copy() for i in range(6    )]
														snake_case_          =						[mem.copy() for i in range(6    )]
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						VGroup(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						Text("""CPU"""						,    font_size=24    )
														snake_case_          =						Group(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0.5						,    aligned_edge=UpperCAmelCase_    )
														cpu.move_to([-2.5, -0.5, 0]    )
														self.add(UpperCAmelCase_    )

														snake_case_          =						[mem.copy() for i in range(4    )]
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						Text("""GPU"""						,    font_size=24    )
														snake_case_          =						Group(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0.5						,    aligned_edge=UpperCAmelCase_    )
														gpu.move_to([-1, -1, 0]    )
														self.add(UpperCAmelCase_    )

														snake_case_          =						[mem.copy() for i in range(6    )]
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )

														snake_case_          =						Text("""Model"""						,    font_size=24    )
														snake_case_          =						Group(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0.5						,    aligned_edge=UpperCAmelCase_    )
														model.move_to([3, -1.0, 0]    )
														self.add(UpperCAmelCase_    )

														snake_case_          =						[]
														snake_case_          =						[]
														snake_case_          =						[]

														for i, rect in enumerate(UpperCAmelCase_    ):
																					rect.set_stroke(UpperCAmelCase_    )

																					snake_case_          =						Rectangle(height=0.46 / 4						,    width=0.46 / 3    ).set_stroke(width=0.0    ).set_fill(UpperCAmelCase_						,    opacity=0.7    )

																					if i == 0:
																												cpu_target.next_to(cpu_left_col_base[0].get_corner(DOWN + LEFT    )						,    buff=0.02						,    direction=UpperCAmelCase_    )
																												cpu_target.set_x(cpu_target.get_x() + 0.1    )
																					elif i == 3:
																												cpu_target.next_to(model_cpu_arr[0]						,    direction=UpperCAmelCase_						,    buff=0.0    )
																					else:
																												cpu_target.next_to(model_cpu_arr[i - 1]						,    direction=UpperCAmelCase_						,    buff=0.0    )
																					self.add(UpperCAmelCase_    )
																					model_cpu_arr.append(UpperCAmelCase_    )

														self.add(*UpperCAmelCase_						,    *UpperCAmelCase_						,    *UpperCAmelCase_    )

														snake_case_          =						[mem.copy() for i in range(6    )]
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )

														snake_case_          =						Text("""Loaded Checkpoint"""						,    font_size=24    )
														snake_case_          =						Group(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0.5						,    aligned_edge=UpperCAmelCase_    )
														checkpoint.move_to([3, 0.5, 0]    )

														self.add(UpperCAmelCase_    )

														snake_case_          =						[]
														snake_case_          =						[]

														for i, rect in enumerate(UpperCAmelCase_    ):
																					snake_case_          =						fill.copy().set_fill(UpperCAmelCase_						,    opacity=0.7    )
																					target.move_to(UpperCAmelCase_    )
																					ckpt_arr.append(UpperCAmelCase_    )

																					snake_case_          =						target.copy()
																					if i < 5:
																												cpu_target.move_to(cpu_left_col_base[i + 1]    )
																					else:
																												cpu_target.move_to(cpu_right_col_base[i - 5]    )
																					ckpt_cpu_arr.append(UpperCAmelCase_    )
														self.add(*UpperCAmelCase_						,    *UpperCAmelCase_    )

														snake_case_          =						Square(side_length=2.2    )
														key.move_to([-5, 2, 0]    )

														snake_case_          =						MarkupText(
														    F"""<b>Key:</b>\n\n<span fgcolor='{YELLOW}'>●</span> Empty Model"""						,    font_size=18						,    )

														key_text.move_to([-5, 2.4, 0]    )

														self.add(UpperCAmelCase_						,    UpperCAmelCase_    )

														snake_case_          =						MarkupText(
														    F"""<span fgcolor='{BLUE}'>●</span> Checkpoint"""						,    font_size=18						,    )

														blue_text.next_to(UpperCAmelCase_						,    DOWN * 2.4						,    aligned_edge=key_text.get_left()    )
														self.add(UpperCAmelCase_    )

														snake_case_          =						MarkupText(
														    F"""Based on the passed in configuration, weights are stored in\na variety of np.memmaps on disk or to a particular device."""						,    font_size=24						,    )
														step_a.move_to([2, 2, 0]    )

														snake_case_          =						[meta_mem.copy() for i in range(6    )]
														snake_case_          =						[meta_mem.copy() for i in range(6    )]
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						VGroup(*UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						VGroup(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0    )
														snake_case_          =						Text("""Disk"""						,    font_size=24    )
														snake_case_          =						Group(UpperCAmelCase_						,    UpperCAmelCase_    ).arrange(UpperCAmelCase_						,    buff=0.5						,    aligned_edge=UpperCAmelCase_    )
														disk.move_to([-4.0, -1.25, 0]    )
														self.play(Write(UpperCAmelCase_						,    run_time=3    )						,    Write(UpperCAmelCase_						,    run_time=1    )						,    Create(UpperCAmelCase_						,    run_time=1    )    )

														snake_case_          =						[]
														for i, rect in enumerate(UpperCAmelCase_    ):
																					snake_case_          =						rect.copy()
																					target.generate_target()
																					target.target.move_to(disk_left_col_base[i]    ).scale(0.5    )
																					animations.append(MoveToTarget(UpperCAmelCase_						,    run_time=1.5    )    )
														self.play(*UpperCAmelCase_    )

														self.play(FadeOut(UpperCAmelCase_    )    )

														snake_case_          =						MarkupText(F"""Then, the checkpoint is removed from memory\nthrough garbage collection."""						,    font_size=24    )
														step_a.move_to([2, 2, 0]    )

														self.play(Write(UpperCAmelCase_						,    run_time=3    )    )

														self.play(
														    FadeOut(UpperCAmelCase_						,    UpperCAmelCase_						,    *UpperCAmelCase_						,    *UpperCAmelCase_    )						,    )

														self.wait()







"""simple docstring"""
def   _a			( _SCREAMING_SNAKE_CASE			)      ->			list[int]:
							snake_case_          =						len(_SCREAMING_SNAKE_CASE			)
							for i in range(_SCREAMING_SNAKE_CASE			):
														for j in range(i + 1			,	_SCREAMING_SNAKE_CASE			):
																					if numbers[j] < numbers[i]:
																												snake_case_    ,  snake_case_          =						numbers[j], numbers[i]
							return numbers


if __name__ == "__main__":
				__SCREAMING_SNAKE_CASE							:      Optional[int]						=      input('Enter numbers separated by a comma:\n').strip()
				__SCREAMING_SNAKE_CASE							:      List[str]						=      [int(item) for item in user_input.split(',')]
				print(exchange_sort(unsorted))



