@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSSSSS%%%%%%%%%%%%%????????????**********++++++++;;;;;;;;;;;;;;;:::::
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSSSSS%%%%%%%%%%%%%????????????***********++++++++;;;;;;;;;;;;;;;::::
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSSSSSS%%%%%%%%%%%%????????????************+++++++++;;;;;;;;;;;;;;;;:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSS%%%%%%%%%%%%%????????????***********++++++++++;;;;;;;;;;;;;;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSS%%%%%%%%%%%%%?????????????***********++++++++++;;;;;;;;;;;;;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSS%%%%%%%%%%%%%%?????????????***********+++++++++++;;;;;;;;;;;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################SSSSSSSSSSSSSSS%%%%%%%%%%%%%%?????????????************+++++++++++;;;;;;;;;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%??????????????*************+++++++++++++;;;;;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%?????????????**************+++++++++++++++;;;
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%??????????????***************+++++++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%???????????????******************++++++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%????????????????*******************++++++
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#%%S###################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%??????????????????**********************
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S;, ,;S###################SSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%??????????????????********************
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;    ,*#########S%*;+S#####SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%???????????????????****************
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,     ;S@#####%+,   +S######SSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%?????????????????????????********
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,     ;S@##@S;    ,*#########SSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%??????????????????????????????
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,    ,+#@@@?,    ,?###########SSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%??????????????????????????
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%     ,*#@#+     :%########SSSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%??????????????????????
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?     ,*@S:     :%#####S?+:,,*S####SSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%???????????????
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+     ,*?,     :%@@#S*:,   :?########SSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%???????
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,     ,:      :%@#%;,    :*S############SSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S?;:;;             ,%S*:    ,+%##################SSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                  ,;+,    ,+S@@##@#################SSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                  ,      ;S@#SS%?*+;;;;+S#############SSSSSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S,                      ,;**;:,      ,;*%#################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%%%%%%%%%%%%%
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?                             ,:+*?S##@#####################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+                       ,:+?S#@@@@@############################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                     :?S@@@@@@@@@@################################SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*                     ,*@@@@@@@@@@@@@@@@##################################SSSSSSSSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                      :%@@@@@@@@@@@@@@@@@@@#####################################SSSSSSSSSSSSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;                      *#@@@@@@@@@@@@@@@@@@@@@#############################################SSSSSSSSSSSSS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S                      ;#@@@@@@@@@@@@@@@@@@@@@@@@@@######################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S%%%SS?+:                     +#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#?;,                            :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*,                             :?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                             ,*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                ,;?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################
@@@@@@@@@@@@@@@@@@@@@@@@@S+,                                    ,:*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################
@@@@@@@@@@@@@@@@@@@@@@@S+,                                         :*#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#+,                                             :?#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@?,                                                ,;S@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@#?:                                                    :%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@?,                                                       ;%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@S;                                                         ,*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@