^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^#^^^^^^^^^^^^^^^^#^^^^^^^^^^^ ^^^^^^^^##^^^^^^^^^^^^^^^^^^##^^^^^^^^^ ^^^^^^^##^^^^^^^^^^^^^^^^^^^^##^^^^^^^^ ^^^^^^##^^^^^^^^^^^^^^^^^^^^^^##^^^^^^^ ^^^^^####^^^^^^^^^^^^^^^^^^^^####^^^^^^ ^^^^######^^^^^########^^^^^######^^^^^ ^^^^##############################^^^^^ ^^^^##############################^^^^^ ^^^^^########^^^^^^^^^^^^########^^^^^^ ^^^^^#####^^^^^^^^^^^^^^^^^######^^^^^^ ^^^^####^^^^^^^^^^^^^^^^^^^^^#####^^^^^ ^^^####^^^^^^^^^^^^^^^^^^^^^^^#####^^^^ ^^####^^^^^####^^^^^^^^^###^^^^^###^^^^ ^^###^^^^^######^^^^^^^###^^^^^^^###^^^ ^####^^^^^######^^^^^^###^^^^^^^^####^^ ^###^^^^^^^####^^^^^^###^^^^^^^^^^###^^ ^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^###^^ ^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^###^^ ^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^###^^ ^###^^^^^^^^^^^^#^^^#^^^^^^^^^^^^^###^^ ^###^^^^^##^^^^^^^^^^^^^^^##^^^^^^###^^ ^^###^^^^^^###############^^^^^^^###^^^ ^^####^^^^^^^^^#######^^^^^^^^^^####^^^ ^^^####^^^^^^^^^^^^^^^^^^^^^^^^####^^^^ ^^^^####^^^#^^^^^^##^^^^^^#^^^####^^^^^ ^^^^^####^^##^^^^####^^^^##^^####^^^^^^ ^^^^^^####^###^^^####^^^###^###^^^^^^^^ ^^^^^^^^#######^######^######^^^^^^^^^^ ^^^^^^^^^^#################^^^^^^^^^^^^ ^^^^^^^^^^^^^^#########^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |