,,,,,,,,,,,,,:::;=++++++**?????%%%SSSSSS###SSS+;-+*?%SSS####S?+%######%****+++++
,,,,,,,,,,,,,:::;=++++++=**????%%%SSS#######%-;==+*?S%%S####%??%S###@@#S?**+++++
,,,,,,,,,,,,,:::;=+++++==+*????%%%SS#######?--+++**%?%SS####SSS####@#@@##?**++++
,,,,,,,,,,,,,:::;==++=--=+*??*?%SSSS######?-=+**??%?%%S############@@@@###**++++
,,,,,,,,,,,,,:::;--==--;;-+***?%S%SS#####?==+?*??%%%%SSSSSS########@@@@@##S*++++
,,,,,,,,,,,,,:::;----;;;;-=+++*?%%%S####%=+*??%%S%%S%%%S%SSS#######@@@@@@##?++++
,,,,,,,,,,,,,:::;--;;;;;;;;---=*??%S####++*?%%%S%%S%%%%%%%%S####@@@@@@@@@##S++++
,,,,,,,,,,,,,:::;;;;;;;;;;;-;;-=++?%#SS?+?%SSSSSSS%%%????%%SS###@#@@@@@@@###?+++
,,,,,,,,,,,,,:::;;;;;-;;;;;;;---=+*?%%%**%SSSSSSS%%???????%%S##@@@@@@@@@@@##%+++
,,,,,,,,,,,,,:::;;;;----;;;;;---=+*??%?*%S#SS%???******???%%S##@@@##@@@@@@##S*++
,,,,,,,,,,,,,:::;;-----;;;;;;----=+***+*S#SSSS?*+=+**?????%%S##@@@##@@@@@@##S*++
,,,,,,,,,,,,::::;;-==-;;;;;;;;;:;;-====+%?==*???++*%%SSSSSSSS##@@@#@@@@@@@##S*++
,,,,,,,,,,,,::::;-------;;;;;::::::;-=-=*?%??**+=+*?%%%%SS#####@@##@@@@@@@##%*++
,,,,,,,,,,,,::::;-------;;:;;:::::;-==-+*%S#S?*=-+??***?%%SS###@####@@@@@###%*++
,,,,,,,,,,,,::::;-------;;::;;::;;;-+=-+++?%?%+-;*%?*SS###SSS##@##S##@@@####?*++
,,,,,,,,,,,,::::;===-----;;;;:::;;;;--==;;=+++-;=?%*?SS#S##SSS#@##S##@@@####**++
,,,,,,,,,,,,::::-====--==;;;;;::;;:;---;:;;--;;;?%%*+*?%S###SS####S##@@@###S**++
,,,,,,,,,,,,::::-====--==-;;;::::;;;=--::;;;;:;+%S%*++*?%SSSS#####S##@@@###%**++
,,,,,,,,,,,,::::-++=----==-;:::::::--;;:::;;::=?SS%*+++*?%%SSS####S##@@@@##***++
,,,,,,,,,,,,::::-+++=--==+=-;:::::::::::::;;;-*%SS%*+++**?%%SS#######@@@##%**+++
,,,,,,,,,,,,::::-+**++=++*+*=;::::::::::::;;==?%%S%?+++*??%%SS###S#####SSS?**+++
,,,,,,,,,,,,::::-+***++++++***+=;:::::::::::;-?S%%%?****??%%%S###S##SSS%%?***+++
,,,,,,,,,,,,::::-+*****+=+**??%S+;;;:::::::::-+%%%%?***????%%S###S#SSS%%S?***+++
,,-;::,,,,,,,:::-+**********??%S%*===-;:::::;=*?%%???*??????%###SSS%SSS%S?****++
,;??%%*-:,,,::::-=+*****?**???%SS%SS#%*-::::-*%%%%?????????%%###SS%SS#SS##?***++
,:;*%SSSS?=;:::;;=+++***??*??%%SSSS##S%=;;;;-=?%%%?????????%S##SS%%%SSS#@@#?**++
,,,,:=*?SSSS%*=;=?*-+***?????%SSSSS##S%*;;-=+*%SS%?????????%###SS%%%SS#@@@@#?*++
,,,,,,,:-+?%SSSSS#S+??*??????%SSSSS###%?;;-*?%%S%%?????????%##SSSS##@@@@@@@@S?*+
,,,,,,,,,,:;=?SS###*?%**?????%SSSSS###%%+;;=*??????????????S##SSS#@@@@@@@@@##%*+
,,,,,,,,,,,,::-?%%#%?%%%%????%SSSSS###%%%;;-=*????????????%#SS%S##S##@@@@@@@##?+
,,,,,,,,,,,::;;==;-*?%%S#%???%SSSSS###S%%*-=+**??????????%SSS%%S#%S#@@@@@@@@@#%*
,,,,,,,,,:::;-;;;-=*%%%%%????%SSSSS###S%%S?+++**?????????%S%%%%S#S##@@@@@@@@@@#*
,,,,,,,,;----=++?%%*?%%??????%SSSSS####%%S##%*=+++***???%%%%%%%S######@#@@@@@@#?
,,,,,,,:-*?%?*++%%%??%%%?????%SSSSS####S%%##?;;-==+**??????%%%SS#SS#####@@##@@#?
,,,,,,,:+?%%%%%SSSS???%%?????%SSSSS#####%%S%;:;-==++*??????%%%SS#S%S###@@###@@#?
,,,,,,,;+?%%SSSSS%%???%%?????%SSSSS#####S%%;:;;-===+**?????%%%SS#S%%%S#@###@@@#?
,,,,,,,;=*?%SSSS%%?*??%%?????%%%%%%%SSSS%?;,:=--===+**??????%%SS#%%%%%S###@@@@S*
,,,,,,:;;;=*%%%%%?**??%%??*=-;;--===+++++;,,;+-====+**??????%%SS#??%%%%%S#@@@#%*
,,,,,,,:;;;-+*??*++*?%%%*+;:;;=++***+*%%-,,:;*+===++***?????%%SS#??%%%%%%%#@@#SS
,,,,,,,,:;;-=++++=+*?%%%*=--+*?%%?**%S%-,,,:;*?+++++***?????%%SSS*??%%%%%%%#@@@@
,,,,,,,,:;;--=+++++*?%%?*==*?%S%*=+?%?;,,,,:-*%?++++****????%%SS%+*?%%%%%%%%#@@@
,,,,,,,,,:---=+****?%%%*+++**?**++?S%-,,,,,:-+S%********????%%SS*=+??%%%%%%%%#@@
,,,,,,,,,:---=*??%??%??+-;:,,::=*?%%-,,,,,,;-=%%?*******????%%SS===*??%%%%%%?%##
,,,,,,,,,,:--+*??%%???+:,,,,::;*?%%=,,,,,,:;-=*S%?******???%%%S%--=+*?????????%#
,,,,,,,,,,,:-+*???????;,,,,:;-*?%%+,,,,,,,:;-=+%%?********??%%%?---=*????????**%
,,,,,,,,,,,:-=*???%%?*:,,,:;--*%%+,,,,,,,,:;-==?%?+++*++==+****+;--=+**********+
,,,,,,,,,,,:-=*????%%*:,,:::--=%+,,,,,,,,::;-===++==+++=--=++++-;--*S%%?******++
,,,,,,,,,,,;-=*????%?+::::::;-+*,,,,,,,:+S*;;----+=+++=---==++-;;;=S@@@@@#S%?*++
,,,,,,,,,,,;-=*????%?=::::::;-=:,,,,,;*S###S=;;--+*+++=--===+=;;;=?#@@@@@@@@@@@#
,,,,,,,,,,,;-=+??????;::::::;;:,,,:=%#######S+---=**++=======;::-*?#@@@@@@@@@@@@
,,,,,,,,,,,;-=+???%%?:::::::;:;=*%###########?+===*?*+=======;:-**%#@@@@@@@@@@##
,,,::,,,,,:;-=+??%%%*::::;;;;;*###########SS#%*==-+?*+======-:;=*?%@@@@@@@@@@@##
,,,:::,,,,:;-=+?%%%%=:::::;;;-*#########SSSSSS*=--+??*+=====;;-+*?S@@@@@@@@@@###
,,,::::,,,:;-=+?%%%%-:::::;---?#######SSSSSSSS*=--=??*++====;--+*?S@@@@@@@@@@###
,,,:::::,,:;-=+?%%%%;:::::;-==?S#####SSSSSSSSS?+--=???*++===--=**?#@@@@##@@@####
:::::::::::;-=+?%%%%;::::::;=*%S####SSSSSSSSSS%=;;=????*++=---+**?#@@####@@@####
:::::::::::;-=+?%%%%::,,,:;;-*SS###SSSSSSSSSSS%=:;+????**+=--=+**?#@############
:::::::::::;-=*?%%%%:,,,:;;;--?S##SSSSSSSSSSSSS=::+?????*+=--=**?%##############
;;:::::::::;-=*??%%?,,,:::;;;;=SS%%%%%%%SSSSSSS?;;+?????*+---+*??%##############
;;;;;:::::;;-=*??%%?,::;;;;---=S#S%%%%%%%SSSSSS%=;-?????*====****S##############
;;;;;;::::;--=*??%%%::;;---===+%##S%%%%%SSSSSSSS+-;=????*===+****S##############
;;;;;;;:::;-=+*??%%%:;;;--=+++*S###SS%%%%%%%SSSS*-;;=???+==+**+++S#############@
--;;;;;;:;;-=+*??%%%;;;;;-=+*??#####SSS%%%%%%SSS%--;;=??+++*+++==##############@
----;;;;:;;-=+*??%%%-;;;;-++*?%S#####SSSS%%%%%SSS+;;;;-*++++==-;+##############@
-----;;;:;--=+**??%?-:::;=+***?%#######SSS%%%%SSS?-;::;-++=-;;;;*##############@
-----;;;:;--=++*???+=:::-----*SS########SSSS%%SSSS+;::::;;::::;;%##############@