Code:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ;:;;:; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ S@@@;r;r @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,, @@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ::: @@ :@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ..;sr, @@@ @@@@@@@@@@@@@@@@@@@@@@@ ::,:: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ,,;ssr, @@@@@@@@@@@@@@@@@@@@@@@@ .;ssi99r @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ .:;iis;, @@@@@@@@@@@@@@@@@@@@ ;srrr53h2, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ .:;s5Ssr: @@@@@@@@@@@@@@@@@@ ,sisssssiX3s @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ .:rrrrsrrr;. @@ :;35rsS25Sii2i @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@:;:;Si;:,::::,...,,.,,,:::,. ,;s9Xss552X22sii.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@;:;;;::,,:::;;;;;;;;::::;;;;:;s;rS&9ri3AHHHG5sSi @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@::::,,,,,::;;;rrssrrrr;;;;;;rr;i3GA3rrri3M#B3ssSr @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@ ...,,,,,,:;;rrisrrrrr;rrr;;;;;:;292isriH#BGirrr; @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@ .,,:;:,.,,,;;rir;;rrrr;;rrr;;;;;:,;2SiA@@MGS;;rs, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@ ..,,,:::,,,,,,;;sr;;;;::;;;;r;r;;;;;:,:r9#@B2srrSXi @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@ ,:,,,,:,.:;:::;rssrr;:,,,,:;rrsrr;;;;;::,::sir;ri9is, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@ ,,,,:;A@@@2;::;rrsss;:,,::,,::;rsrrr;;;;:,...:rissSSi: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@ .. .,rAM@@@i:;;:;;;;;::::::;:,,:;rrrr;;;;::,.,:rsShG2;: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@ . .,s2@@@H:::,:::,;;;;:rH#@@Bi:;;r;;;;;;;;;::::;rhB3r;, @@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@ .. .,,,r2A5;.,::::,,:rsi3@@srG@@@@5r;;;;;;;;;;;;;;:;rXXsr: @@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@ .. ...,;:,. ,,:,,,,::;59@@9.@@@@@@2;;;;;;;;;;;;;;;;:;srrr: @@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@ ., ....,:, .,,,,,,::::;r;sA#XABHAr..,,,,,:::::::::;;;;;rrr;. @@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@s.,..... .,,,,,::,,:::::;:..:;:,. .,,,,.,,,:::,,,::;:;;r;rr, @@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@,....,, ,i3AA999Xs,,:,,::::::,,,,,,,::;::,,,,,:;::,::::,::;;;;;: @@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@;,:.,,. @@@@@@@@@@B;.,,.,::::,.,,,::::::::,,,,,,,,:,:::::::;;;;;, @@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@ :,.,:, ,H@@@@@@@@@@i..,,,,,::,,,....,,:::::,,,,,,,,,,:::::;;;;;;: @@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@:, ...,:&MM####@@@A;:::::::::::,,,,,,,,,::::::::::::;;;;;;rrr;;;:. @@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@ ;:,,,:::;2BM@#M#BGSr;;;;:::;;:,,::::::,,,:::::::;;;;;;;;;;rrrr;;;;:. @@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@.;:...,:;i229HHA&3ir;;;r;;:;;;;:::::::::::,:::::;;;;;;;;:;rrrsr;;rr;: @@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@ 5::....,:iX33h32233irrrr;rr;;;;;;:;;;:::;;;;;;;;;;;:::::;rrrrsr;rr;;;, @@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@ :;;,..,,..2#@@@@#B#Ai;:;;:::;rsir;;;;;;;;;::;;;;:,,::::;;;;rrr;rrrr;;, @@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@r::;,.,,.. ;9AHM#@@@@@A3r53AM###Xrr;;;;;;::::;;::,,,::::::;rrrrrr;;;;;, @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@ .,,..,...;XhGh9&A#@@@@@@#HXi;::;;;;::::;:::::::::::;;;rrrrrrrrrr;r:. @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@ .,.......:ssrrr;;i5srrr;;:,:::;;;;;;;:::;:;;;;;:;;;;rrrrrsssisr;;;: @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@ . ..,,,,,,,..,::,:,,,,,::,,,,::;;;;;;;;;:::::::;;;;;;;rrrr;rriiisrrrr;, @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@ ;....,,,,::,....,,,,,::::::;;;;;;;;;;;;;;::::::;;;rrrrrrrrrsiissrrrrr;, @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@ ;,...::,,,:,,:,::::::;;;;;;;;;;;;;;;:::::::;;;:;;;;;rrrrriSiiisrr;rrr;: @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@ ..,..,,;::::,:::;;::::;;;;;;;;;;;;;::,::::::;;;;;;;;;;rrrsiSiisr;rrr;;;:. @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@ ,.,,,::::::::::;;;;;;;;;;;;;;;;;;;:::::::;;;;::;;;;;;;rrssrrr;;;;;;::;:. @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@ ,.,,,,,,,:::;;;;:::::;;;;;;;;;r;;;;;;;;r;;;;;;;:::;::;;;rrsrrsr;;;;::::::,. @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@s ,,,,,,,::::::;;;;;:::;::;;;;;;;;;;;;rrssrr;;;:;;r;;;;;;;;;;;;:;;::::::;:, @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@i ,:,,,,,,,,:::::;;;rr;r;;;;rrr;rrrrrrrssr;;:;;;;;;;:;;;;rrr::::::::::::::, @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@ ,,:,,,..,,,,,:::::;;rssssrssiisssrrrr;;;::::;:::;;;;::;;:,,,:::::::::::;;: @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@ ,,::,..,,,,:::::;;;;;rrrrr;rrr;rr;::::,::;r;:;;:::;:::,,,,,,::,::::::::;: @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@: ,::,...,,,,,:::::;;;;;;;rr;;;;;;;:::::;;;;:;;;::::::,,,,,::,,,:::::::;;: @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@,,:::,...,,,,::::;;;;;;;;;r;;;;;::;;::;:::::::;r;;:::::,,:::::::,,::::;;: @@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@ ,::;:,,,,,,::::;;::;r;;;;;;;;;:;::::;;;;;;:::::::rr;:::::::::::::;::;;r; @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@ ,::::,,,,:::::::::;;;rr;;;rr;;::;;;;;;;::;;::::,::;;;::,,,,,,,,,,::::;;r;. @@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@ .,:,..,,,,,:::::::;;;;r;:;;;r;;;:::;;;;;:;::;;;:::,.,:::,,,,::::::::;;;rrr, @@@@@@@@@@@@@@@@@@@@@
@@@@@@@ .,,,.....,,,:::::;;;;:;;;;;;;:;;;;;;:::::;;::::::;::::;::::::::::::;;;rrrsr, @@@@@@@@@@@@@@@@@@@@
@@@@@, .,,......,,,,:::;::::::;;;;;;;:;;;;;;;;;;:;::;::::::::,,,::::::::;;;;;rrrsir,. @@@@@@@@@@@@@@@@@@@@
@@@@ .,,,.......,,,,:::::;;;::;;;:;;;:::;;;;::::;;;:rrrrr::,:,,,,,:::::;;;;rrrrrrrr:, @@@@@@@@@@@@@@@@@@@@
@@@ .,,:,........,,,:::::;;;;;;;;;;;:;;;;::::::::::::::::rr;::::::,:::;;;;:;rssssrrr:, @@@@@@@@@@@@@@@@@@@@
@@ .,,:,.. .,,..,,,,:::::;;;;;;;;;;;;;;;;;:;;:;;:::::::,,,:;;:::::;:::::;;::;rsssssr;, @@@@@@@@@@@@@@@@@@@@
@@ .::::. ..,,,..,,,,::::::;;;;;;;;;;;;;;:;::::::::;;:;::::::;;:::::::::::::,:;rrrrs;;: @@@@@@@@@@@@@@@@@@@@
@@:::;:. ..,::,,,,,,,:::;:::;;;;;;;r;;;;;;;;;;;;::;;:;;;;;:::::;::::::,,,,:::,:;rrsr;;:.@@@@@@@@@@@@@@@@@@@@
@@,:;:,....:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;r;;;;;:;;::::::::,,::::rrrirrr,@@@@@@@@@@@@@@@@@@@@@
@@.;;:...,,:::;;:::::::;;:;;;;;;;;;;;;;r;;rr;;r;;;;;;;;;;r;;;;;;;::::;;::::::::rsiirr;,@@@@@@@@@@@@@@@@@@@@@
@@;;;:,...,,,,,::::::::::::::::::::::::::;;::;;::::;::;::::::::::::,,,,,,,,,,,:;rrrrrr;@@@@@@@@@@@@@@@@@@@@@