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