






from manim import *
class    _UpperCAmelCase      ( A__			):

				"""simple docstring"""




				def        lowercase__     (  self		:					Optional[int]						):

								'''simple docstring'''
								lowercase__     				=    Rectangle(height=0.5,						width=0.5						)
								lowercase__     				=    Rectangle(height=0.46,						width=0.46						).set_stroke(width=0						)

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

								lowercase__     				=    [mem.copy() for i in range(1						)]
								lowercase__     				=    VGroup(*lowerCamelCase						).arrange(lowerCamelCase,						buff=0						)
								lowercase__     				=    Text('''GPU''',						font_size=24						)
								lowercase__     				=    Group(lowerCamelCase,						lowerCamelCase						).arrange(lowerCamelCase,						buff=0.5,						aligned_edge=lowerCamelCase						)
								gpu.align_to(lowerCamelCase,						lowerCamelCase						)
								gpu.set_x(gpu.get_x() - 1						)

								self.add(lowerCamelCase						)

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

								lowercase__     				=    Text('''Model''',						font_size=24						)
								lowercase__     				=    Group(lowerCamelCase,						lowerCamelCase						).arrange(lowerCamelCase,						buff=0.5,						aligned_edge=lowerCamelCase						)
								model.move_to([3, -1.0, 0]						)

								self.play(
								    Create(lowerCamelCase,						run_time=1						),						Create(lowerCamelCase,						run_time=1						),						Create(lowerCamelCase,						run_time=1						),						)

								lowercase__     				=    MarkupText(
								    F"""First, an empty model skeleton is loaded\ninto <span fgcolor='{YELLOW}'>memory</span> without using much RAM.""",						font_size=24,						)

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

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

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

								step_a.move_to([2, 2, 0]						)
								self.play(Write(lowerCamelCase,						run_time=2.5						),						Write(lowerCamelCase						),						Write(lowerCamelCase						)						)

								self.add(lowerCamelCase						)

								lowercase__     				=    []
								lowercase__     				=    []
								lowercase__     				=    []
								for i, rect in enumerate(lowerCamelCase						):
												lowercase__     				=    Rectangle(height=0.46,						width=0.46						).set_stroke(width=0.0						).set_fill(lowerCamelCase,						opacity=0.7						)
												cpu_target.move_to(lowerCamelCase						)
												cpu_target.generate_target()
												lowercase__     				=    0.46 / 4
												lowercase__     				=    0.46 / 3

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

												first_animations.append(rect.animate(run_time=0.5						).set_stroke(lowerCamelCase						)						)
												second_animations.append(MoveToTarget(lowerCamelCase,						run_time=1.5						)						)

								self.play(*lowerCamelCase						)
								self.play(*lowerCamelCase						)

								self.wait()












class    _UpperCAmelCase      :

				"""simple docstring"""




				def __init__(  self		:					Optional[int],						lowerCamelCase		:					Union[str, Any]						):

								'''simple docstring'''
								# we need a list not a string, so do something to change the type
								lowercase__     				=    arr.split(''','''						)




				def        lowercase__     (  self		:					Optional[int]						):

								'''simple docstring'''
								lowercase__     				=    [int(self.array[0]						)] * len(self.array						)
								lowercase__     				=    [int(self.array[0]						)] * len(self.array						)
								for i in range(1,						len(self.array						)						):
												lowercase__     				=    max(
												    int(self.array[i]						) + sum_value[i - 1],						int(self.array[i]						)						)
												lowercase__     				=    max(sum_value[i],						rear[i - 1]						)
								return rear[len(self.array						) - 1]


if __name__ == "__main__":
							A__			:    Dict         =				input('please input some numbers:')
							A__			:    Union[str, Any]         =				SubArray(whole_array)
							A__			:    int         =				array.solve_sub_array()
							print(('the results is:', re))




