;:;;;;::::::::::::::::;;;::::;;;::;;:::::::::::::;rrrrsr;,,,,::::::::::::::::::::::::::::::::::::::::::::::;
;.:::::::::::::::::,::,,,:;;;:,,,,....,,,;rS3&AAAG9XX3hA&3i;. .,:::,,,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,.;
;,;;;;;;:::::::::::::::;;::::::,,,:;ri3H#@#B&99G9Sr;:::ri&@@M5;,,:,,,:::::::::,,:::::,::::::::::::::::::::,;
;,;;:;::::::::::::::::::::::,,:;s5&BM#HG5r;;r;;rsrrs5Sss5X9B@@@Hi,.:;:::::::::::::::::::::::::::::::::::::,;
;,;:::::::::::::::::::;;;:,:r5GB@@A2ir;;;;rrrrs53A#@@@A2S233AM###A5:.:::::::::;;::::::::::::::::::::::::::,;
;,;::::::::::::::::::::,:rXB@@@H2r::;sissrrsi3MBAH##MHAh2iii2XSs9@@X::;;;::::::;;:::::::::::::::::::::::::,;
;,;;:::::::::;;:::;;;::r9@@@Gir;;ri5SisssS3A##AXS55Ssi9B#@M9G#M2rsG#&r;:::;;;::;:::;::::::::::::::::::::::,;
;,;;:::::;;;:;;;:;;rr;iM@@Ai;:rSSisii52Si5hHBXrrS5ir;:;sXH#HB#@#&23#@&5r;;;;:::;;;::::;;;;:::::::;;:::::;:,;
;,;;:;::::::,,:rr;,,rA@@G;:;i5iss522Siii5hA9i;:r52SsiXAMMMHH#@@@@MM@@@##B3ir;:::;;;;;;;;;;::::::::;;;:::;;,;
;,:::;;:::::::;:::;SG#Hi;;;ri55SiSS552Ssri23SsS9B##M###MA&hhGAHA355XGHM###MMHGSr::;;;;::::;;;:::::::::::;:,;
;,:::::::::;r;;::iA#B2;:;i25SS5225iiiis;:r2H##@##BAGXisrrsS23hhXirrri25ss59AHHBMA2r:,,:;r;::;;;::::::::;;:,;
;,::::::::;r;,,rXB#Gi:;22SS222SiS5Ssr;;rrihM#@@@A32Sisi2h&&GGX5isrssi22SSSirrrSh#@MhSsr;;:::;;;;:::::;;:;:,;
;,;;;;:,:;r;,:r3BA5r;r23X5S55Sisssr;:;59XSssiS2hAHHHB###MAhXSsrrsSSisi2X2issssr;r2&M@#B9Srr;;;;;:::::;;;;:,;
;,:;;;:::;r;;2HH3i;ri39X2255SSisr;rsi2XXSrr;;;;riS22XX2isrrrrrsi525iii5Ss;::;rrrrrri9M@@H2;;rr;;::::;;;;;:,;
;,::;;,,::;5AAG2irsS222255Siiisrrri2XXSr rsiisrrrr;;;;;;;;;rrrrrrrrrrr;ri5XX223&AHAGGA#@#A2r;rrr;;::;::;;;:,;
;,:;;:..:ih#MXsi2X2SS22S2X2Ssssi55555Sissi5Sisssrrrrrrrrr;;;;;;rs53ABM##@@@##MM#BAHM##Hh2iss;;;;;;;;;;::;:,;
:,;r;,,;X#@hss53&G355X32XX5ii53h3255SSiiiS5Ssr rsrrrrrrr;;;rs53&AAB#@#H&&&AAAAAHBM###M&2r;::::;;;;;;;;;:;;;,;
:,::::sGMA2rsXAAG999X5232isi2GAAXii 5SSiiiiisrrssrrrrrsi52GHM###MA&h3hABM#@@@BG992sssrrr;::;;;;;;;;;;;;;;;;,;
;,::rShHAi;iAMMAX23h95SX2S23AHA925SSSSii ssrsssrrrsi29AM#@@#MAG93hAB#@@@@@@BXr:,,:::,,:;;;;;;;;;;;;;;;;;;;:,;
;,;i3&hXXhhX3HMBh252X9XSiS3AHG2iS22 SSisrrrrriii53A#@@@#BAGh&AM#@@@@@#HAHBMA2r;;;;;;:;;;;;;;rr;;;;;;;;;;;;;,;
;,;rr2HHB##h2A#AX&hX2siG3X&H&Srs522SirrrrsS523H####BHHHHH#@@@###@#HAG32S2hHBG5r;::;rr;;;;;rr;;;;;;;;;;;;;;:;
:,:,.,s3A&&&B@@M992S22SS9HH9isS22SrriSSSi53A#@MBMM##@@@@@@@@MHB##AhhAHA33GB#MGi;;;rsrr;;;;r;;;;;;;;;;;;;;;,;
::;:,.:i3X253B@@H&2i2&h2H#&r;r5X2SiiS2hHM#MBA&AB###BHHM#@B&AHBMB&X2hHBHA&AB##H2r;rrssrrrr;;;;;;;;;;;;;;;;;,;
::;:r;,;i5Srr9M@#H3SiSGMM3r:;iSii5229AHBBBBMM@@@@MHHBMB&93A##M&939hHBHHBBBB###AXs;rrrrrrrr;;rr;;r;;;;;;;;;:;
;::,;;,,rX5;rXABB&32S2GAS:,;2h2iiX&AHMMMBBM#@#&AB#########@#&irihMMHAHBMMBHBM##M2;;;rrrrrrrrrrrrrrrrrrrrr;:;
;:::;r;;XAi:r9&&h5299A&i;:;i393hAA#@#M#@@@@MG3X2Sii2&BMAh25ir:;iGMBHHAG2Si52hA#@Gsrrrrrrrrrrrrrrrrrrrrrrr;,;
;,:;;riX#B;,rAMH3siX3A9rriS22XGM@@#######MHAHBMB&XSsr;;;;:,::;i9M#MMAS;:,:;rS9M@HSsrrsrrrrrrrrrrrrrrrrrrr;:;
;,:;;sX##S. .:3#Air5AA2siS5X&B##@@H&BBHAHAGXXhAAHM#HXr::::;;;;r3@@#2: .:;ri3B@#hr;rir;;ssrrrrrrrrrrrrrr;:;
;,;;r9BHXisir:rAMG222s;rri9BMM@@@h2hHHGX3hGhhG&AHM##MAXsrrsiiss2ABX;. .,;rriXB@@&s;rirrrssr;;rrrrrrr;;rr;:;
;,;rSGHAA#@@#M9S2A#Ai,,;i3B###@@hrshHBHG9X3&#@BHAGh&H#B9isS392iSX92;,:,,:;;;s3M@@ASrrrrrrsrrrrrrrrrrrr;rr;:;
;,r3A3iiXGXSsihBA3XhGs;5M@#HB#H2rrG#HGAB#AXS2Xissrrs3B#AXXAM#BG39&Ah32s;:,,;sh#@@A2srrrrrrrrrrrrrrr;;;;;;;,;
;,;iXirs9G23G3X9HMBAA#@#@@B9AM3r;5H#MBAG2r,.,;rrrrri3HBA3H@@@#BAAB#@@M3s;;;r2A#@MA9Sr;rrrrrrrrrrrrrr;;;;r;:;
;,::shBBAAH##H2s5H@@@@@#B&GH@#3r;sXM@M2, .;iSsssSX&BMM#MG2XhAAHM#@@@BAAAAH###HA&Xsrrrrrrrrrrrrrrrrrr;;;:;
;:;rsXH#M2rrrrsiS23H##B&22G#@@3rrsGMhr ,:rXXiii29A#@@H2srs2X55XH@@@@@#MB#@@HABBhirrrr;rrrrrrrrrri5XhXi:;
;,;r;;rXBAS;;rssi2GB####&X3H@@9r;rir. .,;S9G3552hH#MMH2r;;rS2Sii2A###@@@##MAX&#BX;:;sr;;;;rS3&AHBM#@@@h;;
;,:;;:,:SB@B3hhh&B@@@@@@M2S&@@#5;;;;:. .,,:rXA&3229B@@M9Srrr;;rrsssrri2X9A##MG25XAHhr::ri5XA@@@@##MHAAA9Sr,;
;:;;r;::;iA@@#M@@@#G9&M@@BhA#@@Mi;;i22r:,:ri3G3X23&M#Mhi;:;rr;:,::;;::;;::shBAX22&MAS;r2AM#@#MAG3XX222Xi;:.:
;;r;;;r;;;r2ABMMH3SrrrSH@@H92A@@A5i2GAG2ir;;iXG&ABMHAXi;:,::;;;ri5s;,:rs;,:5M#3sihA&5iXBMAX552XGAM#MBAGA&S:;
;;r;:;r;;;;rSAMhs;;rs;;5#@&2sS@@@@HG&A#@@MX2GBBM##MA2sr;;;;rriXABA2;,:;r;:;SB@As;sGMAh93252G#@@@@@@@@@@@B2;;
;:r;;rr:,:s29AA3s;:;rss2M@HB35B#AM@@@#BB#@#BA&GG&&9Sr;::;;rS9A&35r;,,:;;rrri&##3sihAhX39GH@@@@@@@@@#@@@@@A;;
;:;;;;;;;:::rXH#M2iS2&M#MG3MM9GHHGAH&AM#Ah3Xirrrr;;:::::,,,,,:. ,:;::rrrs3BMHir2AHA@@@@@@@#BHBMBHAAH@@A::
r:;;;;;;;;:..;XHM@##@@M&9SrXAGA#@@A5iSX35sssr:,......,,,. ;iSr;::;;;s2hAHs:sB@@@@#@#AAHBM##BAAHM@@G::
r:;;;;;;;;;:,:riX#@MB32GHh59AA&GH@#A925ir;;:,,,.......,,... .rXAGs::::;;s3HAB@h;;X@@@BAB&222X25SiSXH#@M3::
r:;;;;;;;;;rr:,:rShA&3Si2X2393X5X#@@M&X2Sir;:::::,..... . ;2Xi:.....,:;2M@##@#s,rA#@##@#&33hG&G&AB##@M3::
;:;;;;;;;;rr;:.,:;SAABA2X932ii255A##MA93G&Xirr;::,,,.. ,::,..:r;. ,;S&#@HAMBS;X@@@#MM###@@@@@@@@#M@@A;:
;:;;;;;;;rr;;;::;ri2XXA@@@#HSihXrrh##&XXAHhSsr;::::::,,,,,,,,..,r3Ahs:.;2B#MHGhAB3i&@#@#hSS&#@#H&9h&AAAHBX::
;:;;;;;;;rr;;riii2222i2#@@@#G3HAs:iHM&259Ah25Sr;;::::,,,::::;;;ri5i;:::r&##A35SXBAiSXXA#B92hAAAA&AAAAG3XXi,:
;:;;::;rr;;;s2hhX2239X559B##@#HBAr;2M#A33XXXXXSr;;;::::::,::::::;;: :SB@#HGXirSB@GisrriXAHHBH&GAB##B&9h95;;
;;rr;:;rr;:iGh35srsSX3X2XGAH###@#2;rA@@#MBA939325Sir;;;;:,::,. .,,;iA@@H55GB#@@BHHBA2rri5XAHBMMBAAAHBBA2::
;::;rr;;;ri3G9X5issiii2h9XXX&HH##hrr9#@@@@##@@@@@#A2srrr;:::::,..,;r2ABA2;:S#@@@A22GM@#&2ir;;rS9AMMBHA&M#3::
;,:;rr;;r2HG255SSSisiiS5Si5XA#M@@#Xi2M@#HAAAM@@@@@@@#MA9Sr;;;;;;;rSXA#Gs;:rA@@MBA322&MMA925s;:;ri9H##HA#@h;:
;:rr;:;S9AA35CIA5SSS2Srri9H#@BM#AXis&@#AAAhBMhXhM@@@@@@@@@MAX2XGM@@@hCIA9B#AAMXrs2H#Mh52X9X5srrShM@@@@@h::
;:;;;s2h&hX5irri23X22X2ii2AM@#9GH&AXiA@#AHHA#@9ss2A#@##@@##@@#BB#MAXirriXhAM#AA#&iiXB@MXsrriX39GAHM#@@@@@X::
;:;ri233X5SiiS29AAGX222XhAMMBAGA#@#G5X#@#AH#@#9SS9#@@#HA&hhHBBHA&92iS9&ABB&GAhSSXhhH#AhX5si529H#@@@##BA##3::
r;ri2hGh2isri29h99993229AM##HAHB#@B2iSA@@HH@@MGXX&#@@MHAGXXhAM####@@@@@@@#9S9h9ABB#@H5sS5i5GAAH###MAG9hBM9;;
r;s59&h2irrsSX92Si2hhXXGHB##MBHH#@A252H@@BH#@MA3X&M@###MBG3h&AAAAB#@@M##AX23###@@@@#2;;rsr5H#MHM##HXSSXAHX:;
;r&BA9issi522225iii5XXhBBBBBHAAA#@M&h9H@#BA##MA323AM##@@@@@@@@####BHAHMASri9#9r;s9MHS;rSSS&#MB###B95sssX&5::
i2HA2rrsSSi52ii2XX22GM@@@#MMBHHM@@@##HB@@BA###Bh22XhGHM##@@#HAHM###MM##A2i5hHi,.:SBH2si22XB#AH@@M&93X5ssir,:
9AA925XhGX29&9hABBBB@@@@@@@@@##@@@@@@##@@@M#@@#B&G&&AABMB@@#MHHM#@@@@@B2sSA@@@Xi5H@@A99h&M##B#@@#MBM#BA925;;
;,,,:::,,,::::;;::::;rrr;;;;;;;;rrr;r;;rr;;;;;;:::::;;;;;;rrr;;;;;;rr;,..:;;r;::::;;::,::;;:;;;;;;;;;;;::::; CRAP