^^^^   ^-^  ^^^^  ^-^  ^^^^  ^  ^ ^--^ ^ ^^^^
^--^  ^---^ ^--^ ^---^ ^--^  ^ ^  ^  ^ ^ ^--^
^   ^ ^        ^ ^     ^   ^ ^^   ^  ^ ^ ^   ^
^   ^  ^-^  ^--^  ^-^  ^   ^ ^    ^--^ ^ ^   ^

^^^^^ ^^^^^ ^^^^  ^^^^^
^     ^   ^ ^   ^ ^---^
^   ^ ^   ^ ^   ^     ^
^^^^^ ^^^^^ ^^^^  ^^^^^