





from manim import *

class  __A(						__UpperCAmelCase ):

     def 	_UpperCamelCase     (      self      ):





            """simple docstring"""

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

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

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

            self.add(A      )

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

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

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

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

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

            _UpperCamelCase              =						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(A,       run_time=2.5      ),       Write(A      ),       Write(A      )      )

            self.add(A      )

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

                   if i == 0:
                          cpu_target.target.next_to(cpu_left_col_base[0].get_corner(DOWN + LEFT      ),       buff=0.02,       direction=A      )
                          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=A,       buff=0.0      )
                   else:
                          cpu_target.target.next_to(cpu_targs[i - 1].target,       direction=A,       buff=0.0      )
                   cpu_targs.append(A      )

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

            self.play(*A      )
            self.play(*A      )

            self.wait()













def     SCREAMING_SNAKE_CASE			(      lowerCAmelCase = 1_000					):
       _UpperCamelCase              =						3
       _UpperCamelCase              =						0
       while a < n:
              if a % 3 == 0 or a % 5 == 0:
                     result += a
              elif a % 15 == 0:
                     result -= a
              a += 1
       return result


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






