^^^^^^^^^^^^^^^^^^^^^^%%%%%t(^^^^^^^^/(%6GQQ###G######################
^^//^^^^^^^^^^^^^^^^^%%%%t(^^^^^^^^^(%6GSQ######Q#####################
/^^^^^^^^^^^^^^^^^^^%%%%t(^^^^^^^^/(CGGQQQ######Q##Q6#################
/^^/^^^^^^^^^^^^^^^%%%t(/^^^^^^^^(3sGSQQQQQ########Q##################
/////^^^^^^^^^^^^^%%%t/^^^^^^^^(%sSQQQ############G###################
//////////^^^^^^^t%t(/^^^^^^^(t6GQQ##############%Q###################
(/((((((////////(%t(^^^^^^//(CGQQ###############s6####################
(((((((((((/((/(t(/^^^^^^/(%6QQQ###############CG#####################
((((((((((((t(((/^^^^^^^((CGQQ################(Q######################
(t(tt((((ttt(((^^^^^^^^(%GQQ################QtQ#######################
(((((((((((((/^^^^^^^(t6QQ#################G%#########################
((tt((((((((/^^^^^^^(3GQ##################(%####63CsGGs6sC%CCC6Q######
(((((tt%t(t/^^^^^^(tCQ###################C3%CGsC3CQ###############6s##
t(t((t((t((^^^^^Q^3GQ###############QtCCGsCts######################Gtt
tt((ttt(((^^^^^(%6Q##############3C66CC66%S####################3%%%ttt
(ttt(t(((^^^^(tCGQ############66GGQG#tssCQ##QGQ#############tCtGtC6C(G
tttttttt^^^/(%6Q###########6sGQQ####(GGGCSQ##############33%CC3Ct3S###
ttttttt^^^/(%G#########sGSG########t#GSC##############%33G3%C(3Q######
tttt%t^^^(%CG#######GSQQ#########C%#QQG############CC3St%6(C##########
%%%t%^^/(%sQ######Q###########SQ63#QGG##########sC3G(tGtCQ############
%%tt(^((%sQQ####Q##########GGQ##QQQQQ########S33GC%3tCG###############
%%tt^(t3G##Q###Q#########G#Q####QQQ########3%CG%C%6C##################
%%t^(tCG#t%tCC6%%%%%t%tQQ%%333%S#Q######CC3Gt3C3sS%%%%3333%%%33333^^^^
33/(%6QQC%3s3C%%t%%%%C6%%3%33%S#Q####Q63C3%C3GG3%%3%%%%t%%%%%3%333^^^(
/((3GQ#///(CC^^/^^/sG/^^^^^(/6#Q###Q6GG6C63S^^^^^^^^^^^^^^^^^^^^^^^^^(
(tCS####QS#((^/^^6C(///^^^/(C#Q##QGQGGG6Q(^^^^^^^^^^^^^^^^^^^^^^^^^/^/
%CQ#####QG(((//3C/^//(/^^^^3###SGQQGGC#^^^^^^^/(t/^^^^^^^^((^^###C(3C%
s#######((((((6/^^^/((((/^(Q#QQ#GQQC^^^^^^^^^^^^^^^/^^^^^/^^^^(^%C3C%/
Q####QG(((((((//^/((/t########SQGG%^^^^^^^^^^^^/(///^^^^^/^^(36GGCt(t(
#####%(((((/((//////(((((###SQsQ/^^^^^^^^(///^/^/((^/^^/(3t6QQG3(6CsC%
###G(((//((((((((((/((#QtGGGGG^%3^^^^^^^^^/^//^(/CGGSGs3sSQSs%3QG#/3Gt
##(((%(((((((((////(ts3S3%CQ((^^^^^^^S^^^^(^CQ#G33ssGsQ##GG3GQQ#^^63%Q
%t(((((((((S(((((//SG#sGGG(((/^^^^^^^^^^3CQQGs%(^/GQ##QQ6Q#####%t(6SQQ
33333%%333333CQC%%3QQQGC%%3((/^^(Q#QGQ#Qt^^^3^^%#Q##GSG########Q(CCG#Q