;;;;;;;::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;
;,,ooooolcodoloooxOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo;
;;;codoolclooocc:cldkO00OOkO00000000000000000000000000000000000000000000000000o;
;;;;lc:loloxxd:::::cccdxolcldkxO000000000000000000000000000000000kkddxkO000000o,
;cl;,:coocdocccc::::::cclc:cllldO00xxO0000000000000OkO00O000000Odoxc:clxOO0OOkc;
;cl:,,:oooddolc:::;:;,,;;c:clcccloocldoolldddkO0OOOdodddlldxO0kooc:,,::c:ccccc;;
;coldxooododoolc:::;,,,::;;::l::::lc'........,:ccc:;;;:::,,;ldlccc,,',;;:::::c:;
;loccodxodlodxol::,',,,,;;;:cll::,. ...,:odl'.. .;::;;;:;,.,::;:;,..'',,,,,',c:;
;;ccc:coll,,;:;'.,'''',,;,,;:cll; .,oOKXNNNKd:. .''.''.'',,''',,;'..,,'''',::;;
;,::clcc:'.;:c:;,;c;,'..,',;,,,;. 'okO0KKKXK0k:....'..''','.'.''''',;;,::',:,,;
;;,..',',;,',;;:cl;.,'....,,,,;:. .,:c:,;lx:;lol..'',',;::,'.':cc;;;:::,lc,;::;;
;::,'':ll'.';,':cc:,;'..';;;;;;,...,'';clkKdc:lx;';',,,:cll::;;;::,;cc;,ll;:;,,;
;;c:'':lo:'',..,::cc,''.;:;;:;,;,..cdk0KkdkxOKK0dc;:c;;looodc,;;;ldl:;;,dd:;,,,;
;'.,;,,;,,;:,,;,;c:;',;;:c:;;,,,,'';coxdc,;cdkkdl,',;,.,cxxl,,;;'','','.ll,''.';
;;;,;,;;,,ccc:::;;;;'';:cc::::;;,,',::;'':cccolxx;;;:;;,,:ddc:ll::,,,;,'oo,..',;
;;cccllllllcllllllllllcccclllcccc::',;:;;,,co:'ckdllllllccllllcclllloolcolclllc;
;;::::::::c:cllc::c:::::::::::;::;. ..,;;:c:'',;cco:'.',,cll::::::;:c:;;:;;;::;;
;;;;;;:;,,;;;::;;:;::;;;;;;;;:col:. ..'',;;.. ..' .'';;:::::::;;'. .''''..';
;;;,;;,,,,,;;;;,;;,,,,,,;lxO0XWXod;,..'',,' .'.':dkl:;;;:;. .......';
;,;;,,,,,,,;;;;,,,,;:ldk0NWNkc;. .:cl:,'';,. . .'...oKXk:,,,;, ....''.';
;;,,;,,,,',,,,,,;:ccdKXXXNWWK0kl',xx00OkxkO;.. . . .,;,.;oKX0k0Oxl'....'''.';
;;,;;;;;;;;;c;';ccloxOkxOOXWNNXKOk0ONMWWMMNo. .:;.;loNOc;o0KKNWNNk;'''...',;
;cxxxxxxxxxxkc'',:xOO0klxxdNNXXK0O0ONMMMMMMKllc;::clcc,'xWK:xdkkkdkXXXo..''..',;
;;oooooooodd:;;',d00KNKlckoXWNNXXOKXWMMMMMMx;WMkKMWMWN0ddK0''lolcdxdOKd;,';'..';
;o0OOO0OOOOOoooodkkKXKxl'ddkNWNXXOONWMMMMMMO'XN;'OWWWKOxoOXoc,,,,lc:llc'.....,;;
;lxxxxxxxxxxxxxxdodxkxc,'cl:kOkxxdk000KKKKKO:Oc...o00Oxdc:ol;';:.'::clccc::::lc;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,,;;;;,,,,,,,,,;,;;;;;,,,,;;;;;;;;;;;;;;;,,,,,,,,;;