*************************************************@@@@@@**********@@@@@**********************************************************
**************************************************@@@@@**********@@@@***********************************************************
**************************************************@@@@***********@@******@@*****************************************************
***************************************************@*********************@@@****************************************************
*********************************************************@@@*************@@@@***************************************************
******************************************@@@************@@@@@***********@@@@@@@************************************************
******************************************@@@@***********@@%@@@@********@@@@@@@@@@*******@@*************************************
*****************************************@@@@@@@*********@%%%%@@@@******@@@@@@@@@@@@****@@@@************************************
****************************************@@@%%%@@@*******@@%%0%%@@@@****@@%%%%@@@@@@@@*@@@@@@***********@************************
****************************************@@%%%%%@********@%0000%%@@*****@%%%%%%%%@@@@@@@@@@@@@*********@@@***********************
***************************@@**********@@@%%%%%@*******@%%0GG0%@@*****@@%%%%00%%%@@@@@@@@@@@@@*******@@@************************
**************************@@@*********@@@%%%%%%@******@%%00GG0%@******@%%%%0000%@@@**@@@****@@@@@@**@@@*************************
*************************************@@@@@@@%%%@*****@%000000%%@*****@%%%%%0GG0%@@**@@@*****@@%@@@@@@@**************************
************************************@@%%@@**@@%%@@@@@%0000%%%%%@****@%%%%%000G00%@@@@@@****@@%%%%@@@@***************************
******************************@***@@%%%@@****@%%%%%%0GGG0%@*@@%%%@@%000000000000%%%%%@@***@@@%%%%@@@@***************************
*******************@@@********@@@@%%00%@*****@@%0GGGCCCG0@***@%000GGCCGG0000%%000000%%@@@@@@%%%%%%@@@*********@@@***************
******************@@@@********@@@%%000%@******@%GCC333CG0@****%0GCC33CCGGG00%%%0GGG0%%@@@%%%%%%%%%@@**********@@@***************
******************@@@@@*******@@%%%%0%%@******@%0C33e33G0@****@0G3333CGGGGG0%@%0GGG0%@@@%%%%%%%%%%@@**********@@@***************
*******************************@%%%%%@@@@******@0GC33CCGG%@***@%G33CCGGGCCGG%@@0GGG0%@@@@%%%%%%%%%@@**********@@@***************
*******************************@@%%@@@@@@@@****@%GCCCG0GGG%@@**%0CCG0%%0GCCG0%%%GGG%@***@@%%%%%%%%@@***********@@***************
*************************@@@***@@%@@****@%%%@***@0GG0%%%0GG0%@@@0GG0@@@%0GCCGG00GG0%****@@@%%%%%%%@@************@***************
************************@@@@@@@@@%@*****@%00%%@@@%00%@*@%0CCCG0%000%***@%GGCCCGGGG0@****@%%@@@@%%%%@****************************
************************@@@@@%%%%%@*****@0GGG00%%%%%@***@0C333CGG00@***@0GCGGC3CCCG%@**@%00%@@@@%%%@@@*@@@**********************
************************@@@@%%%%%%@****@%GCCCCCG0%%@****@G3egge33C0%***%G33CGC3333CG%@@%0GG0@**@%%%%%@@%%@@*********************
***********************@@@@@%%00%%@****%GC333333G0%@***@03ggcccgg3C0@*@03ge3CC3eee3CG00GC3CG%@**@%%%%%%00%%@**********@@********
***********************@@%%%%%%%%@@***@0C3eeeeeCG%@****%Gec111ccg3C0@@%Cgccg33eeeee3CGGC333C0@**@%0%%00000%@*********@@@@*******
**********************@@%%000%%@@****@%G3egccg3G%@****@0ec!;!!cg3C0@@@Gec111cgggge3CCGC3eee3G%@@%000000000%@********@@@@@*******
**********************@%%00G0%@******@G3egc1cgC0@*****%3c;"";!g30%@*@%3c!;;;!1cge3CG0G3eeee3CG%%%00000G000%%@*******@@@@@*******
**********@@*********@%000GG0%@*****@03eccc1cg30@****%Cc;",,"1e0@***@Gg!;"""";1g3G0%0Cegeeeee3CGG00000G00%%%@@*****@@@@@********
*********@@@********@%000GG00%@****@03gccccccceC%@*@03c;",,";130***@0e1;"",,,"1eG%@%G3ge333egge3CG000GG00%%%%@@@@@@@@@@*********
*******@@@*@@******@%0GG000000%@*@%03gccgeeegcceC00Ce1;,,";!!1eG%@@Ge1;"""",,"!eC00G3gg3CCCegcce3GGGGG0%%%%%%%%%%@@@@@**********
******@*****@@***@@%0GG00%%%000%%0G3c11c3GGCec1cggg1;",,"1ggc1ceCG3g!""""""""";1e33eccg3CC3ec11ge3CCCG0%@@@%0000%%@@@***********
****@@@*****@@@@@@%0GGG0%@@%0GGGGCec!!1eG%@0Cg1!!!;",  ,!eGG3c!1cc1",,,,,""!!;;;!1111cg33eegcc1cge33C0%@*@%%0GG00%%@@***********
****@@*******@@@@%00GGG0@**@%GCC33g1!!1e0@*@03c;"",,   ,1C%@0e!;""", ,,,,,"!c1;""";;!ceegggggcccgee3C0@**@%%0GGG0%@@*********@@@
****@********@@@%%00GG00%@*@%0C3eegc11c30@**@Gg!",,   ,,!30@%Cc"    ,"",,,"!cc!",,,;1e33eggggccccge3G%***@@%00GG0%@@*********@@@
*************@@@%%%000000%%@%0C3eggcgge3G0%@@031",, ,""";cC0%Gg;   ,;11!",,;1c1",,,;gC00C3eggccccce30@*****@%00G0%%@**********@@
*************@@@%%%%%@%%0000%0G3egggeCGGGGG0%%Cg;, ,"!c1!1c3GG31,  "c33e1;"";11;, ,!30@@%GC3egc111g30@******@%0000%@***********@
*************@@%%%%@@**@%0GGGGC3gggeC0%%0GCCCGGe1",,!eC3ec11ge3c; ,!30%03g1;";;;,,"cC@**@@%GC3gc11c30@*******@%000%@************
************@@@%%%%@****@%0CC33egcg3G@**@%G3ee3ec;,"cC%%G3c!;!cc!""cG@*@%Gec!""",,"cG@***@@%%GCg11ceG%@*******@%%%%@@***********
************@@%%00%@*****@%G3egc11c30***@%0Cg11cc!;!e0**@031",";;"!e0***@0G3c;,,,,"130@@%0%@@@0Cgcce3G0%%@*****@@@@@@@@*********
************@@%000%@****@@%03gc1!!cC%***@0G3g!";!!!cC@***%Cg;  ,""!g0@*@0GGG31,   ,;c3G0GCC%**@03ggge3CGG0%*****@@*@@@@@@*******
@***********@@%000%@***@%%%03g11!1gG@**@03ggc;,,;1ce0@**@G3c;    ,;gG@*%Ce3GCc"    ,;1e3ecgG@**%Geggee333C0@********@@%%@@******
************@@%%0%@****@0GGCeccccgC0@**%31!!!","1g3G@***0ec!"    "!e0@@0g1ce31"     "1gec!1e0@*@G3ggeeeggeG%********@%%%%@@*****
********@@@@@@%%@@****@%C33egggeCG%@**@Cc","""!c3G0@***%31"",  ,;1eG%@%C1";1c;,    "!geg;,"cC%@0CegggegggeC%@******@@%%0%@@*****
*******@@@@@@@@@******%G3gggg3C0%@***@Gg;,  ,!gC%@****@Cc"   ,"1gC0@*@Gg"  "",   ,;1e331" ,;gCGCegcgeeggge30@*****@@%%00%%@*****
*******@%%%%@@*******@G3gc1ceG%@****@0e!,   ,!3%*****%Cc"   ,;c30@***%3!        "!gCGGg;   "!gegccce33eggg3G%@**@@@%%00%%@@*****
******@%%%%%@*******@03gc11g30@****@0e!,    ,!e%***@0Cc"    "1C%@***@C1,      ,;c3G%%C1,    "!!11ce3C3gccgeC0%@@@%%%%0%%%@@*****
*****@@%%%%%@******@03g111cg30@***%Ge!,      "cG%@%Ge1"     "cC@***@Gg"       ;gC%@@0g;      ,"!ceCGCecccge3CG0%%%%%%%%%%@@@****
****@@%%%%%%@@***@%03g111ccgeC%@@%Gg!,        ;eGG3c;,      ,!3%**@Gg;       ,!30@@%31",,,,   ,;c3GG3cccgggge3GG00%%%%%%@@@@@***
***@@%%%%%%%@@***@0Cec11cggggeG%%0e!,   ,",,  ,1ee1;      ,,,"cG%%Gg;,        ;gG00Cc;""",,   ,"c33ecccgeegggg3CG000%%@@@@@@@@@@
***@%%%%%@@%%%@@@%G3g11cg33gcg3G0Cg!,  ,;11!,  "!1!"     ;!!""!gCGe1,         ,!ceec;";;",     ,;1c11ceCGCegccg3CG00%%@**@@@@@@@
**@@@%%@@@@@%%%%%0G3gccgeCC3gcce33g!",,;c3Ce1,  ";;",   "1eec;"!cgc;,,      ,  ,";;"";11!",,    ,";;!gC%%0Cegcge3CG0%@****@@%%@@
**@@@@@@@@@@%%%%00GC3eee3CGCec1111!;,";1eG0Ge!,   ,, ,,,;c3C31",";""";;;"  ,",      "1e3ec!",     ,;130@*@0Ceggge3G0%******@@%%@
**@@@@****@@%%000GCCCGGGCCC3ec!;;;","!g3G000Cc"      "!1cgeC3c;     ;ceec!",""      ;e0%0G3c!"    ,;gG@***@%Cegge3C0@*******@@@@
**@*******@@%00GGGCCG%@%0GCeg1!"",,,;gC0%%0GCg!,     !eCC3eegc!,   ,130%G3c!",,    ,1C@**@%Ge1"   ,;e0@****@0Ceee3C0@********@@@
@@@********@%0GCCCCG0@**@%Gec!;",,,"1C%**@%Gec!"    "cG%%03g1!;,   "g0@*@%Ge!"     "g0@****@031,  ,;gG%@****@0C333G0%@********@@
@@@********@%GC33CC0%*****%C1;",,,,!e0@***@Gg!;",   !3%**@Gg;",,   !3%****@0g;     ;gG%******0e!, ,;ceG0@****%GC3C0%%@@@******@@
@@@*********%GC333G%@*****@Cc;,,,,"1C%****@Gc;"""  "cG@***%e;     ,1C@*****@C!,    "1eG@@@***@Gc",,;!ceC0%***@0GCG%%%%%@@******@
@@**********%0C33C0%******%Cc!;;""!e0****%0Cc;;!;",;e%***@0e;   ,,"g0****@*@C1,    ,!gG0%%%***%3!"";!1ceC0@***%00%@@%%%%@@*****@
@***********@%0GGG%@****@%0Cgggc!!cC@**@0C3eccgeg!!cG@**@03c;,";;;1C%**@%0003!,   ,;c300GCG%**%C1;";1cge3G%***@%%@@@%%%%%@******
************@@%%0%@***@%GCCCCCGCeg3%**@03ccgeCG0Geg30@@%Cg1!!!cggg30***%Ceee1",,";1eG%%GeceG%%Ge1;!1g3333C%****@@@@@%%%%%@******
*******@@@@****@@@***@0Cee3G0@@%GC0%@%Ge1;;cC%@*@0G0%%G3c!;!g3G000%@**%31;;!;""!ceC%@@%31;1eCCec11ceCGG3g3G@***@@@@%%%%%%@******
******@@%@@********@%G3gcg30@**@%%%0G3g1;,"13%***%00G3c!;";13%@*@@@*@%31" ,,"!c3G%@**@Gc" "!c1!!1eC0%%CgcgC%@@@%%%@@@%%%%@******
*****@@%%%@******@@0Cec11ceG@***@%G3g1!;"  ;g0@*@%G3c!",,,"1C@****@%Ge1,    "gC%@****%3!   ,"""1eG%@@03c!1eG0%000%@@@%%%%@******
****@@%%%%@@*****@0Cec111cgC%***@%Cg!""",  ,13%@%Ge1"   ,  ;e%****%Gg!,     ;3%*****@C1,      "cC@**%Cg!;!ceCCGG0%@@@%00%@@*****
****@%%%%%@@*****@0Ce1!!!1ceG@***%Cg!"",    "gG%%Gg!"      "cG@**@031"      ;e%*****0e;,      "g0@*@0e1!;!1ce3CG0@*@%000%%@@@*@@
****@%%0%%%@@****@%G3c!!!11c30@**@%Cg!",    ,!30%0Cg1",    ,!3%***%Cc;      "c0****@Gc;",     "cG@*%Cg111111ge3G0@@@%00%%%@@@@@@
****@@%%%%%%@*****@%Cec11111gC%***@031",";",,"cC%@%03c;,,,""!g0@**@031",    ,;e0@**%Cc111!",  ,!e00Gecceeegcge3C0%%%0%%@@@@@@***
****@@@@%%%%%@*****%G3eeggc11gC%**@0e1;!cgc!",;gG@@@Ge1;;!!!!13%***%Cg11!;,  ,!eG%0CegeCGCg!,,,"!gegcg3G0GCeee3CG0000%@***@@@***
*****@**@@%000%@**@%GGGGG3g1!!cC0%0Cc1c3GG3g!",!eG00Ceggeeg1!!130%%G3eCCCe1", ,;1ggcceG@@@0e!",,"";!1eG@*@%C333CCCCG0@*****@@@**
**********@%0GG0%%0GG0%@@%Cg!";1geec1c30@@%31",,;ceegg3G00Cc;""!ceegeC0@@%Cc"   ,"";130****0e!,   ,"!e0@**@0C33333CG0@******@@@*
@@@@*******@0CCCCCCG0%****%3!",,";;;!gG@**@Gc",  ,";!cC%*@0e;,  ,";!gG@***@C1,     ,!e0@***@Gg"    ,!gC0%@@%GC333CCG%%@@****@@@@
@@@@*******@0C3eee3C0@****@Gc"   ,,"1C%****0g"     ,;g0@**@3!      "gG@****%e;      "cC0@***%C1,   ,;1g3G%@@%G333C00%%%@@@**@@@@
@@@*********%G3eee3G%*****@Gc"    ,;g0@***@0g"      !3%***%3;      ;e%*****@C!      ,!eG@***@0g;  ,";!cg3G%@@0C3CG%%%%%%@@@**@@@
@@@*********%GC333G0@****@%Cc;",,,"1C%***@03c;""   "cG@**@Gg"     ,1C@*****%C!,     "130@****%3!,,,";1ce30%*@%GCC0%@%%%%@@@***@@
@@*********@%0GCCG0@****@0Cec1!;""!e0@*@%G3g11c1; ,!3%@@%Cg!,,,,,,!e%***@@%Gg;     ;c30%%@***%C1""";1ce3G%@**@0GG%@@%%%%@@*****@
**********@@@%%000%***@%GC3ee3ec!!gG%@%Gegccg3C3c;;cG%%G3c;"";11;!gG@**%GC3c;,   ,;gG%@%00%@%Ge1"";1g3CG0@****%00%%%%%%@@*******
********@@@@@@@%%%@**@0Cee3C0%03gg30%03c!!1eG%%03cc3GG3g!"";1e33ggC%*@%3g1!"  ,";!eG@*@03eCGCe1;";1eC0000%@***@%0%%%%@@@@*******
******@@@@@****@@@@@%03gcgC0@*@0C3GGCg1;";13%**@03e33g1",,;cC0%0GG0@@031",   ,!cg30@**%31!ccc!;;!ceG%%0CCG%**@%00%%@@@@@@*******
*****@@%%@******@@@%G3g1ceG@***@0GG3c;,,""!3%***%G3g1;,  ,;e0**@%%%%Gg!,    ,!eG0%@**@Cc",""""";c30@@%Gee30%%%0000%@@@@@@*******
*****@%%%@*******@%G3gc11gC%****@%Cg!, ,,,"cG@**@Ge1"    ,;e0****@%Gg!,     "cG@*****0e;,   ,,"!eG@*@03gceCGGGGG0%@**@@@@*******
****@@%%%%@******@%GCec11g30@****@Ge1",,, ,!e0**@Ge1"     "cG@****%Cc"      "g0*****@Gc;,    ,"13%**@Geggg3CCCGG0%@*@@@@@@******
****@@%%%%@*******@%G3g11ceG%*****@031;"""";cC%**%G3c;,   "13%****@0e!"     ,cG@****%Cg1;", ,,"130@@%G33333CCGGG0%@@@@@@@@******
*****@@@%%@@*******@%G3ggge3G%*****@Ge1!!1!!!gG@**@%Cg!",,;!eG@****%Ge1;"   ,!3%@**@%GC3ec!""";!eG%%0GG00GGCG0000%@@@@**********
*******@@@@@@*******@0GGC3ee3G%@***@03eeeegc!1e0****%Gec!!!!ce0@***@0G3eg!", "130%@%00%%%G3c!;!!c3CGG0%@@@%000%%%%%@@***********
**********@@@@@*****@@@%%GCegeCG%@@%GCG0%0Ce1!13%@**@0GCCeg1!1eG%@@@%0%%0Cc;,,"!g3GGG0@**@%Cg111ccge30@***@%0%%%%%%%@***********
***********@@%%@@@@@@****@0Cgcce3G0GCG%@*@%Gg!;1eG%%00%@@%Gg!;!c3G000%@**@Gg!",,"!1g3G@****%Cgccc11ceC%@***@%%%%%%%%@@**********
************@%%0%%%%@*****@03c!!1gee30@****%3!"";ce3CG%***@Cc",";1geG%****@Gg;,   ,;c30@***@03c11!!1g3G0%@*@%000%%%@@@@*********
************@%0GGG0%@******@Cc!;;!1g30*****@Gc" ,"!1eG@****%e;   ,;13%*****@C1,    ,;c3G%***@Gg1!!1cge3C0%@@@%000%@@@@@@@*******
@************%0GGG0%@******@Gg!;;;1gG@*****@Gc"   ,!e0@****%3;    ,!e0******0g"     ,!gC0@***03c11cgge3CG0%@@%000%@**@@@@@******
*************@00G0%@*******@Ge1!!1gC%*****@%Cc;", ,13%****@0e;    "cC%******%e;    ,"1gC0@***@Gecggeee3CG0%@*@%0%@***@@@@@******
*************@%0%%@*******@%G3gccg30@***@00G3gc1;";g0@**@%G31",,,"13%**@@@@%Gg;   ,;ceCG0%@***%Ceeee33CG0%@***@%@****@@@@*******
*************@@@@@*****@%%%00GC33C0@**@0C3333CC3g1cC%*@%G3g1!!!!!13%**@%GGGCe!",,"!gC000CG%**@%C3ee3CGG00@*****@@***@@@@********
***************@@*****@%0G0%%@%0G0%**@03c1g3G%%%C330%%03c!;!1g33eC0***%3gcc1!"";!c30%@%CeeG%%%GCee3G00000@*********@@@@@********
*********************@0GCC0%***@%%@@%Ge1!!cC%@**%000GCg!","130%%0%@**%31;""","!c3G%@*@Ge1ceCGC3ee3G%%%0G0%@*****@@@@@@@@********
*******@@***********@0G33C0@****@@@%Ce1;;;cC%***@%0Ce1;,  "gG@**@@*@%31"    ,;gC%@***%3c!!cgeeee3G%@@%0GG0@***@@@@@@*@@@********
******@@@@*********@%0C33C0@******@03c!;;;1e0@***@Ge1",   "g0******%Cc"     ,13%****@Gg!;;!1cgeeC0@*@%GGG0%@@@@@@@@**@@@********
******@@@@*********@%0C33C0%******@%Cg!;;!1gC%***@03c;,   "cG@*****%31,     "1C@****%Cg!!;!!cge3C0@*@0GGG00%%@%@@@@**@@@********
******@@@@**********@0GCCCG0@******@03c!!11c3G@***@03c;,  ,!3%*****%C1",    "1C%***@03ggcc11cge3C0@@%0G000%%%@@@@@@*************
*******@@@@*********@%00GGGG%@*****@%CegcgggeC0@***@031;","!gG@****%Cg1!;",,,!eG@**%G33CGC3egee3C0%%000%@@@@@@@@@@@@@***********
********************@@@%%0GG00%@***@0GCCCC3egeC%@***%Cgcc1!!1eG%@**%Cee33g!;";1eG%%0CCG%@@0G333CCGGG00%@**@@@@*@@@@@@***********
********************@@**@@%0GG0%@@@%0G0%%%0CeggC0@*@0CCCGCec!1gC0%%0CC0%%03c!;!1g3C33G%***@%GCCCCCCCG0@*********@@@@@***********
*************@@****@@*****@%GCCG0000G0%@**@03c1c3G00GCG%@@0e1!!ce3C33G%***%Cg!;!1ccgeG%*****%GCCC333G0@*********@@@@@***********
*************@@@@@@@*******@0GCCCCGG0%@****@Cg!!cg333C0@**@Gg!;;!1cg30@****%Cc!;;!!1gC%@****@%GC333CG0%@@****@@@@@@@************
*************@@@@@@@********%GC33CCG0@*****@Ge1!!1ge3G%****0e!""";!c30*****@0e1;;;;1g30%*****@0GC3CC0%%@@@****@@@@**************
**************@@@@@*********%0CCCCG0%@*****@03gc1cgeC0@***@0e1;"";!gC%******%3c!;;!ceC0%*****@%0GCCG0%%@@@****@@@***************
**************@@@@**********@00GG00%@*****@%0C3eege3G@***@%Cec1!!!c3%******@%Cg1!!ceC0%@******@0GGG0%%@@@******@****************
***************************@@@%%%%%@****@%%%000GC33G%@*@@0G3eeggcg30@****@@%G3gc1ceG%@********@%0G0%%@@*************************
******************************@@@@@***@%%00%%@@@0GG0%@@%GC333CGC3C0@***@%0GGC3eee3G%@***@@@**@@%00%@@***************************
***********************@@@******@@@**@%0GG0@****%00%%%0C3e3C0%@%00%***@0C33333CCG0%****@%%%@@@%%%%@@****************************
**********************@@@@*********@@%0GGG0@****@%%00GC3ee30@***@@@*@%03egee3C0%%@****@%000%%%%%%@******************************
*********************@@@@@*********@%00GGG%@*****@%0GC3ege30@******@%0CegcgeCG%@******@0GGG00%%%@@*****@@***********************
*********************@@@@@@*********@%0GGG0%@*****@%GC3eee30@******@%G3gccgeC0@*******%0GGG00%%%@******@@@**********************
**********************@@@@@**********@%0G00%@******@%0G3ee3G%*******@0Cegge3C0@******@%%0000%%%@@******@@***********************
**********************@@@@@@*********@%%00%%%@******@@0C333G%@******@%GC3333CG%@*****@@@@@%%%%@@@@******************************
************************@@@@@*********@@@@%%%@@******@%0GGGG0%@******@%000GGGG0%@****@@****@@@@@@@******************************
***************************@@@************@@%%@@******@@%%0000%@@****@@@@@%0000%%@@*@@*******@@@@@@@@***************************
*****************************@@@************@%%%@*********@%000%@@**@@*****@%000%%@@@@*********@@@@@@@**************************
*****************************@@@@***********@%%%%@@********@%000%%@@@@******@%%00%%%%@**********@@@@@@**************************
******************************@@@@@**********@%%%%@@@*******@%0000%%@********@%0000%%@@*********@@@@@***************************
******************************@@@@@**********@%%%%@@@*******@%0000%%@********@%0000%%@**********@@@@@***************************
*******************************@@************@@@@@@@@*******@%%%%%%@*********@%%00%%@***********@@@@****************************
************************************************@@@@*******@@@@@%%@@*********@@%%%%@*************@@*****************************
*************************************************@@*******@@@**@@@@*********@@@@@@@*********************************************
********************************************************@@@**************@@@@@@@@***********************************************
******************************************************@@@@@************@@@@@@@**************************************************
*****************************************************@@@@@@***********@@@@@@@************@@*************************************
***************************************************@@@@@@@@**********@@@@%@@@***********@@@@************************************