^^^^^^^^#####################^^^^^^^^^^ ^^^^^^######^^^^^^^^^^^^^######^^^^^^^^ ^^^^^#####^^^^^^^^^^^^^^^^^######^^^^^^ ^^^^####^^^^^^^^^^^^^^^^^^^^^#####^^^^^ ^^^####^^^^^^^^^^^^^^^^^^^^^^^#####^^^^ ^^####^^^^^####^^^^^^^^^^^^^^^^^^###^^^ ^^###^^^^^######^^^^^^######^^^^^####^^ ^####^^^^^######^^^^^^######^^^^^^####^ ^###^^^^^^^####^^^^^^^^^^^^^^^^^^^####^ ^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^####^ ^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^####^ ^###^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^####^ ^###^^^^^###^^^^^^^^^^^^^^###^^^^^####^ ^####^^^^^##################^^^^^^####^ ^^###^^^^^^^^^^^^#########^^^^^^^^####^ ^^####^^^^^^^^^^^^^#######^^^^^^^^###^^ ^^^####^^^^^^^^^^^^^######^^^^^^#####^^ ^^^^####^^^^^^^^^^^^^####^^^^^#####^^^^ ^^^^^#####^^^^^^^^^^^^^^^^^######^^^^^^ ^^^^^^#########################^^^^^^^^ ^^^^^^^^#####################^^^^
-