 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,
,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaabbbbbbccbbbbbbbbaaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbcce:ADdcccbbbbbbbaaaaaaaaaaaaaaaa:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
,:::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccdeDEBedddddccbbbbaaaaaaaaaaaaaaaa:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,
,::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbccccddefBFFAACCbFdccbbbbbaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,,,,,,
,::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbccccdddeefABEeDBAfedcccbbbbbbbaaaaaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,,,,
,::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbcccccddeeffA:,,Fe dAfeeddcccbbbbbbbbaaaaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,,
,:::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbcccccccddeBE.cFFcecFFf.DC.dfddccccbbbbbbbbbbaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,
,:::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbccccccccddddeefAC:FFFFFFFFFc,:DAedddccccccbbbbbbbbaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,
,:::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbccccccddddddddeeefAC.aFFFFFFFFFFD:CAfeeddddccccccccbbbbbbaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,
,:::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbcccccdeeefACfeeeffAAAABCD cFFFFFFFFF:DCBAffffeedddddddfFdccbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,,,,
,:::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccddeADBBdFDCBBCBe:.aFbAB:FFFFFCFFFEeFcBFEbe:AfffffffCDAedcbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,,,
,:::::::::::::::::aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccccdddefBDE:FFFFC :AFFFFFFFFFFFFFFFFFFFFFFFFFF..CCCD.BFFFCB fdcbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,,
,:::::::::::::aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccccccddddeefAB.AFFFFcFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFacFFFF:EBAdcccbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,
,::::::::::aaaaaaaaaaaaaaaaaaabbbbbbbbcccccccccccccccccccccddddeefAD,CD.: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .Cfeddccbbbbbaaaaaaaaa:::::::::::::::::::::::::::,,
,::::::aaaaaaaaaaaaaaaaaaabbbbbbbccddddccccccccccccddddddddddeefAcEB.FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:ADBfeeddccbbbbaaaaaaaaaa:::::::::::::::::::::::::::,
,:::aaaaaaaaaaaaaaaaaaabbbbbbbbcccdeAEAeedddddeeeeeeeddddeeeeeffACE..fFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBECAABAdccbbbbaaaaaaaaa:::::::::::::::::::::::::::,
,:aaaaaaaaaaaaaaaaaabbbbbbbbbbccccde.bDAAAAAfffBDDBAffffffffffABdFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAdbeccbbbbaaaaaaaaaa:::::::::::::::::::::::::::
,aaaaaaaaaaaaaaaabbbbbbbbbbbccccdddefABD.,e.bDCDFaaEDa CBAAAABBDdfFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFaFBfedccbbbbaaaaaaaaaa:::::::::::::::::::::::::::
:aaaaaaaaaaaaabbbbbbbbbbbbccccddddeeffAE BFFFfEFFFFFFcFAc,DCCCD :FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFC.edccbbbbaaaaaaaaaaa::::::::::::::::::::::::::
:aaaaaaaaaabbbbbbbbbbcccccccdddeeefACCDE:caFFFFFFFFFFFFFFFFe F bFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE cBdcccbbbbaaaaaaaaaaa::::::::::::::::::::::::::
:aaaaabbbbbbbbbbccccccccddddeE,AfAABCEbFFFFFFFFFFFFFFFFFFFFFF,bFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAedccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:abbbbbbbcccccccccccddddddeefADbEE,FF,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFbfedcccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:bbbccccdddffeeeeeeeeeeefAAABfFaDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAeeddcccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:BFaCc,A.cDFFf:cEAFDA c, ,FaFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE.DBAfeddccccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:bbbccccdddffeeeeeeeeeeefAAABfFaDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAAeeddcccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:abbbbbbbcccccccccccddddddeefADbEE,FF,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFbfedcccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:aaaaabbbbbbbbbbccccccccddddeE,AfAABCEbFFFFFFFFFFFFFFFFFFFFFF,bFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDAedccbbbbbbaaaaaaaaaaa:::::::::::::::::::::::::
:aaaaaaaaaabbbbbbbbbbcccccccdddeeefACCDE:caFFFFFFFFFFFFFFFFe F bFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE cBdcccbbbbaaaaaaaaaaa::::::::::::::::::::::::::
:aaaaaaaaaaaaabbbbbbbbbbbbccccddddeeffAE BFFFfFFFFFFFcFAc,DCCCD :FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFC.edccbbbbaaaaaaaaaaa::::::::::::::::::::::::::
:aaaaaaaaaaaaaaaabbbbbbbbbbbccccdddefABD.,c.bDCDFaaEDa CBAAAABBDdfFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFaFBfedccbbbbaaaaaaaaaa:::::::::::::::::::::::::::
::aaaaaaaaaaaaaaaaaabbbbbbbbbbccccde.bDAAAAAfffBDDBAffffffffffABdFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAdbeccbbbbaaaaaaaaaa:::::::::::::::::::::::::::
,:::aaaaaaaaaaaaaaaaaaabbbbbbbbcccdeAEAeedddddeeeeeeeddddeeeeeffACE..fFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBECAABAdccbbbbaaaaaaaaa:::::::::::::::::::::::::::,
,::::::aaaaaaaaaaaaaaaaaaabbbbbbbccddddccccccccccccddddddddddeefAcEB.FAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:ADBfeeddccbbbbaaaaaaaaaa:::::::::::::::::::::::::::,
,::::::::::aaaaaaaaaaaaaaaaaaabbbbbbbbcccccccccccccccccccccddddeefAD,CD.: FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF .Cfeddccbbbbbaaaaaaaaa:::::::::::::::::::::::::::,,
,:::::::::::::aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccccccddddeefAB.AFFFFcFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFacFFFF:EBAdcccbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,
,:::::::::::::::::aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbcccccccdddefBDE:FFFFC :AFFFFFFFFFFFFFFFFFFFFFFFFFF..DCCD.BFFFCB fdcbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,,
,:::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbccccccddeADBBdFDCBBCBe:.aFbAB:FFFFFCFFFEeFcBFEbe:AfffffffCDAedcbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,,,
,:::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbcccccdeeefACfeeeffAAAABCD cFFFFFFFFF:DCBAffffeedddddddfFdccbbbbaaaaaaaaa:::::::::::::::::::::::::::,,,,,,
,:::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbccccccddddddddeeefAC.aFFFFFFFFFFD:CAfeeddddccccccccbbbbbbaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,
,:::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbccccccccddddeefAC:FFFFFFFFFc.:DAedddccccccbbbbbbbbaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,
,:::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbcccccccddeBE.cFFcecFFf.DC.dfddccccbbbbbbbbbbaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,
,::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbcccccddeeffA:,,Fe dAfeeddcccbbbbbbbbaaaaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,,
,::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbccccdddeefABEeDBAfedcccbbbbbbbaaaaaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,,,,
,::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbccccddefBFFAACCbbdccbbbbbaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::,,,,,,,,,,,,,,,
,:::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbcccdeDEBedddddccbbbbaaaaaaaaaaaaaaaa:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,
,,::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbcce:ADdcccbbbbbbbaaaaaaaaaaaaaaaa:::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,
,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaabbbbbbccbbbbbbbbaaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,
,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::aaaaaaaaaaaaaaaaaaaaaa::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::