-@@@
--@@@---@@@@@@----@@@@@@@--@@@--@@@--@@@@@@@@--@@@@@@@-
-@@@--@@@--@@@@@@@@--@@@@@@@@--@@@--@@@--@@@@@@@@--@@@@@@@@
-@@!--@@@--@@!--@@@--!@@-------@@!--!@@--@@!-------@@!--@@@
-!@!--@!@--!@!--@!@--!@!-------!@!--@!!--!@!-------!@!--@!@
-@!@!@!@!--@!@!@!@!--!@!-------@!@@!@!---@!!!:!----@!@--!@!
-!!!@!!!!--!!!@!!!!--!!!-------!!@!!!----!!!!!:----!@!--!!!
-!!:--!!!--!!:--!!!--:!!-------!!:-:!!---!!:-------!!:--!!!
-:!:--!:!--:!:--!:!--:!:-------:!:--!:!--:!:-------:!:--!:!
-::---:::--::---:::---:::-:::---::--:::--:::-::::--::::::::
-:----:-:---:---:-:---::-::-:---:---:::--:-::-::----::-:--: