;=-:::,,;,,::-,,;:::-,,:,;+;-=;----:,==;----;,::::::-:;:::;,-;;::-:::-:,........
;==+-;-,=-==-=,--=;==,;+::+-:==:==:-:--+,==,=:-=-==;*--====,-;=-;+-+==:,........
:--;:-;,=--;-;:-=--;-,;-::=;--;-;;-:---:-;;-::=---;,;;;;;==:;;;-;;;-;;;,........
,,,,,,,:,,,,,,,:;,,,,,,,,,,,,,.,..,,,,,.,,,,,,,,,,,,,,,,,:;,,,,,,,,,,,,.........
.......,,,,...,,,,.,,,,,,,..,.,,,,,,,,,.,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,......
,,,,,.,,,,,...,,,,,,,,,,,,,.,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
:+???******************+++++++++++++++++++========----------------------;;;;-;;:
=?????******************+++++++++++++++++=======-----------------------;;;;;;;;;
=???????******************+++++++++++++++==========-=-----------------------;;-;
=???????****************+++++++++++++++++========-----------------------;;;;;;;;
=???????****************+**+++++++++++++++========--------------------------;;-;
=???????*******************+++++++++++++++=========----------------------------;
=???????*?*******************+++++++++++++=========----------------------------;
=?????????*******************++++++++++++===========----------------------------
=??????????*******************++++++++++++===========---------------------------
=??????????********************++++++++++++===========--------------------------
=???????????*******************+++++++++++++===========-------------------------
=?????????????******************+++++++++++++===========-=----------------------
=?????????????*******************+++++++++++===========-=-----------------------
=???????????***********************++++++++++===========------------------------
=??????????????*********************++++++++++===========-----------------------
=????????????**?*********************++++++++++===========----------------------
=????????????????********************+++++++++++============--------------------
=????????????????********************+++++++++++============-=------------------
=??????????????????******************++++++++++++=============------------------
=????????????????????*****************+++++++++++++===========------------------
=??????????????????*******************++++++++++++++==============+?????****????
=??????????????????*****************+++++++++++++******??????%%?%%%?###SSSSSSSS%
=????????????????***********+--;-*******????%%%%SSS##SS#####SSSSSSSS###@#@#####S
=?????????**??????????******-::::=*****?SS######@####@@@@######SS%%SS###########
=???????????????????????*****::::;*********??%%%SSS#S##########################S
=??????????????????????*****?=:;-;+************??%SSS##########################S
+??????????????????????*****??;;-=-*****??%%SS##############SSSS######SSSSS%??**
+???????????????????????*****%=:;--*????%%SSSSSSSSSS%SSSS%SSSSSSS%%%%%%SSSS%??*+
+%?????????????????????????%%SS%%SS#######SSSSS%%%%???????************??%%SSSSSS
+%???????????????????SSSS#################SSS%%%%%%???***********??%%%%%%%%%%%%?
+%%??????????????%???%%%%?????%*+?*+**??????%%%SSSSSS%%%%%?%%%%%%%%%%%%%%???**++
+%%%?????????????%??????????**??-;---***?%%%SSSSSSSSSSSSSS%%%%%%S%%%%%%?*++++++=
+%%%%???????????%%???????????*?%;;=+=*SSSSSSSSSSSSSS%S%%%%%%%???%%%%%%%%%??****+
+%%%%%??????????%%??????????%%SS==****%SSSS%%%%%%%%???????*********+++**???%%SS%
+%%%%%%?????????%???????%%SSSSSS******?????**************************???????????
+%%%%%%%%??????%%????%SSSSS%%??%%?***+**********************???????????????????*
+%%%%%%%%%?????%??????%?????????S%***+*?*********???????????????????????????****
*%%%%%%%%%%%???%????????????????%%***+***????????%%????????????????????????????*
*%%%%%%%%%%%%%%%????????????????SS?**++???%%%%%???%%???????????????????????%%%%%
*%%%%%%%%%%%%%S%%%%???????%%%%%%SSS?***??%%%%%%???%%????????????????%%%%%%%%SSS%
*%%%%%%%%%%%%SS%%%%%%%%%%%%%%%%%%SS%****?%%%%%%??%??????????%%%%%SSSSS%%SSSSSSSS
*%%%%%%%%%%%%S%%%%%%%%%%%%%%%%%%%SSS?***?%%%%%%%%%%%%%%%%SSSSSSSSSSSSSSS#S#####S
*%%%%%%%%%%%%S%%%%%%%%%%%%%%%%%%%%SS%?**?%%%%%SSSSSSSSSSSSSSSSSSS###SS####S####S
*SSSS%%%%%%%SS%%%%%%%%%%%SSSSSSSSSSSS%%SSSSSSSSSSSSSSSSSS##S####################
*SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS####S#####S#####S####S###@####
*SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS####S############S#####S#####S###@###@@##S
*#SSSSSSSSSSS#SSSSSSSSSSSS###SSSSS##S######S############S###@####@@####@@#S####%
*@@SSS###SS####SSSSSSSSSSS####S######S######S##########@#####@####@@#####SS%%%%?
*@@SS###########SSSSSSSSSSS###S######SS####@#S####@####@@####@@@###SSS%%%%%%%%%?
*@#SS############SSSSSSSSSS####S######SS@##@@SS###@@####@@#S#SSS%%%%%%%%%%%%%%%%
*#SSSS######S####SSSSSSSSSSS####S#@#@@@S#@##@@####@@#SSSSS%%%%%%%%%%%%%%%%%%%%%%
*SSSSSS###########SSSSSSSSSS#########@@@####@##SSSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*#SSSSSS###########SSSSSSSSS####@##@##@##SSSS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*###SSSS##########@#SSSSSSSSS######SSSSS%%%%%%%%%%SSSS%SS%%%%%%%%%SS%%%%%%%%%%%%
*SS##SSSS##########@#SSSSSSSSSSSSSSS%%%%%SSSSSSSSSSS%S%%%%SSSSSSSSSSSSSSSSS%%SS%
+SSSSSS#SS##########SSSSSSSS%%SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%SSSSSSSSSSSSSSS%
+SSSSSS#####SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%
+SSSSSSS#@#SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS%