^^^^^^^^^# ^^^^^^^^^^^^^^^^^## ^^^^^^^^^^^^^^^^^## ^^^^^^^^^^^^^^^^^## ^^^^^^^^^^#^^^^^###^^ ^^^^# ^^^^^^^^^^#^^^########^^^# ^^^^^^^^^^##^##########^## ^^^^^^^^^^^#####^^^^##### ^^^^^^^^^#^###^##^^^^^#### ^^^^^^^^#^####^^#^^^^^ ^### ^^^^^^^^#^####^^^^^^^^^### ^^^^^^^##^####^^#^^^^^### ^^^^^^^###^####^##^^^##### ^^^^^^^^##^####^^#######^## ^^^^^^^^###^####^^#### ##^^^# ^^^^^^^^^###^####^^^#####^^^# ^^^^^^^^^####^####^#^^#### ^^^^^^^^^^####^^###^#^^^## ^^^^^^^^^^^#####^###^##^^## ^^^^^^^^^^^^#### #^###^##^^## ^^^^^^^^^^^^^#####^###^##^^# ^^^^^^^^^^^######## ### ##^^# ^^^^^^^^^###########^##^## ^^^^^^^####^^^^^####^^##^## ^^^^^^###^^^^^^^^####^##^### ^^^^^###^^#^^^^^^^###^^#^### ^^^^^###^#^^^^^^ ^^###^^#^### ^^^^^###^##^^^^^^^###^#^^#### ^^^^####^^##^^^^####^^#^##### ^^^^#####^^#########^^^###### ^^^^##^###^^^######^^^####^## ^^ ^^#^^^####^^^##^^^^^#####^^# ^^^^#^^^^#####^^^#^^^###^##^^# ^^^^^#^^^^^#####^^^^###^^# ^^^^^^^^^^^^^#####^###^^# ^^^^^^^^^^^^^^^###### ^ ^^^^^^^^^^^^^###### ^^^^^^^^^^^^###^^### ^^^^^^^^^^#^^^^^^^## ^^^^^^^^^^^^^^^^^^## ^^^^^^^^^^^^^^^^^^# ^^^^^^^^^^^^^^^^^^#