• 807阅读
  • 4回复

黑白的世界```

楼层直达
级别: 精灵王
发帖
3563
金钱
2119
威望
8
贡献值
70

+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;:;::::;::::::::;'######++##########++####+++###+#+++'';'''+++';'+########+##########++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;''''''''''''''''''''''''''''''''''''''''''''''''''''''
###############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++#######+########++++######+++++++++'''''''++'+'++####@@#######@@@@@##';;;;;;;;;;;;;;;';;';';';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'++#######++####++#+++####++++++'''++#+++''';''++++++#####@@#####@@@@@@##+;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+####++##+++####+++++####++#+'+++'''''''++';'''''''+++#####@@##@@@@@@@@@#+;;;;;;;;;;;;;;;;;;;';'';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'####++##+'++###+++'+###+####+++'''+''';'''++''''''''++#####@##@#@@@@@@@@#+';;;;;;;;;;;;;;;;;;;;';;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+###++###+''++##++++++##########+'+++''''''++++'''''''++#####@#@@#@@@@@@@@##+;;;;;;;;;;;;;;;;;';;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;++##+++##++''++#++++##+###+####+##+++'+''+'''++##+''''''++######@#@@@@@#@@@#++;;;;;;;;;;;;;;;;;;;;;''';''';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
############+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;'+'+###++###++++++++'++##+#######++++++++'+''++++++##++'''''+#####@@@@@@@@@@@###+;;;;;;;;;;;;;;;;;;'';';;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'++'+#+######+++++++#';+'+#########++++++''+''++++++++####+''''+#@###@@@@@@@@@@@##';;;;;;;;;;;;;;;;;;';';;';;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;++'++#++##++##++++++++;;'+'##########''''''''';;''+++++#####++'''+#@##@@@@@@@@@####'';;;;;;;;;;;;;;;;;;;;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:'+;''+++##++###+##+++++;;'''+##++####++'';''''';'';''++########++'+#@#@@@@@@@@@@@#####++;;;;;;;;;;;;;;;;;;';;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::+';''+'+##++###+##+++++';'''++#'++###++'';;;';;;;;''''++######+##+'+##@@@@@@@@@@@#@###''+'';;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;+';'+++###+#+####+++++++';';''+++++##++''';;;;;;;;;;'++++###@@####+'###@@@@@@@@@@#@@#@+;;;'';;;;;;;;;;;;;';;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''+####+#+####+++++++';;;'+'++++++#+''';;;';;;;;;;''+++###@@###@++@#@@@@@@@@@@@@@@@##;;;'+;;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;';'++#####+########+#+++';;''''++''+++++++''';';;;;'''''''++#@@@@#@@#@#@@###@@@@@@@@@@@##'';'';;;;;;;;;;;';;;'';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:;;:''''+#############+#++#++';;;+''''''''+'+++++'';'::;;''''''+++##@@##@@@@#@##@@@@@@@@@@@@@@@@+;';;;;;;;;;;;;;;';;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:;;'''#+###########+#+++##+'';'+''+''''''''++#++++''::;;'''''''+++#@@@#@@@##@@@@@@#@@@@@@@@@@@#;+;;;;;;;;;;;;;';;;;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;;;'''#+#@#########++#++##+';;'++'''''''''''++###+'++;::;;;'''''+++#@@@@@@@#@@@@@@##@@@@@@@@@@#'+;;;;;;;;;;;;;';''''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;''+###@#########+##++##++'''++'''''+'''''+'####+''+':::;;''''+++##@@#@@@@@@@@@@##@@@@@@@@@@@#+;;;;;;;;;;;;;;;;;'';';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::;+'++############++++'###''''##''+'++''';;''+#+#'++'++'::;;'''+++###@#@@@@@@@@@@##@@@@@@#@@@@#++;;;;;;;;;;;;;;;';';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::;++++#####+##+###+++++#+#++''##+++'+++';;;'++###';;+#+++';;;'''++###@##@@@@@@@@@#@@@@@@@@#@@@#++';;;;;;;;;;;;;;''';;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::+++######+##+###++++++#+++'+###++'+++;;;::+'##++;;:;+#''+;;;;''++#####@@@@@@@@@@@@@@@@@@###@##++';;;;;;;;;;;;;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;::::#'+######+##+###++#''+#++#++###++'+#+;;;::''+#++';:::;##'+';;''++####@@@@@@@@@#@@@@@@@@###@#@#+'';;;;;;;;;;;;;';;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::+'+######++#++##++++'+'++#++###++'##+;;;::;+'##++;;::,;'++++;;''++###@@@@@@@@@@@@@@@@@@@####@#'+'';;;;;;;;;;;;;';';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;:;:::::::+''#######+#++#+++++;+''++++'####'##+;;;:::+'+#++';:::,;;'#'+'''++####@@@@@@@@@@@@@@@@@@######+'++;;;;;;;;;;;;;;'';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
###########+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;:;::::::::+++#########++++++++;++'''++'+###'+##';;:::''+#++#;:::::;;'#++''++###@@@@@@@@@@@@@@@@@@@#####@#''+';;;;;;;;;;;;;'';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::;'++#########+++++#++''+'+;'++'###+'##';;:::'++#+'#';:::::;';##+'++##@@@##@@@@@@###@@@@@@@######';'+';;;;;;;;;;;'';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;::#+#########++''+#++''++'+''''+###'##+;;:::;+'##'++;;;;:::;''##+++##@@@##@@@@######@@@@@@###@##+;'+'';;;;;;;;;';;;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::;::;;+':+#########++'''+#+++'+++'''''+###+##+';::::+'+++'#';;;;;;;;+++++###@@@@@@@@@####+#@@@@@@#####++';'';;'';;;;;;;;;;';;'';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;+#++#+#########++'''#+#+'+++#''+'++####+@#';;:::'+'##'#+;;;;;;;;;+#++##@@@@@@@@@#####+#@@@@@@@#####++;;+;;;;';;;;;;;';'';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::#++#+#######+###++''+#+#+'++'#+'++++####+##+';;:;;+'#+++#';;'''''';+#+##@@@@@@@#####++++@@@@@@@@####++;;';;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;::::;:+#+##########+##+++'++##++'++'+++++++####+##+';;;;;+'##++#+'''''''';;'+#####@#@#####+++++#@@@@@@@@###'+';;';;;;;;;;;;;';;';'''';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::;:;#+++#########+##+#+++###++'+'++++#########+##';;;;;+'###+#+'''++++'';;;+###########++++++##@@#@@#####''';;';;;;;;;;;;;;;;''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#########+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::'+'+'+######+##++###+++####++'+''##########@###+';;;;'+###+##+++#++++';::;+++#######++''''+###@@#######++';;';;;;;;;;;;;;;';;''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;::;##+#+##+####+##++###++#####+#'+'++#########@####'';;;'++############+';:::;'+++++++++''''''+###########++';;'';;;;;;;;;;;';;;';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;::;:#+##++######++##++##+###+####++++'+##@@@@@###@#@#+'';;'##@############+':,,,:''''++'''';;;''+##@@@######+++;;;';;;;;;;;;;;;;;';'''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+########+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::+######+#####+###++#@+###+####++'+'+##@@@@@@##@#@@#+''''##@###@@@@@####+';:,.,,;;'''';;;;;;;'+##@@@@@####+++;;;';;;;;;;;;;;;;;'';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::########+####+####+##########@#+'+++###@@@@@##@@#@#+''++##@#@@@@@@@@@##+';:,...:;;;;;;;::;;;'+##@@@@@@####++';;';;;;;;;;;;;;';'';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;##'++###+######+##+############++'++#@@@@@@@@##@#@##++++##@@@@@####@@##+';;:.`.,:;;;;:::::;;''+##@@@@@###+#''+;';;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#########+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;'''';+############+##++####+###++'+##@##@@@@@@##@#@##+##@@@@##########+';;;;:.`.,:;;:::::::;''+#@@@@@@@###++''+';;;;;;;;;;;;;';''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;:'#+'###+###++########@#+#########++++#@@@@@@@#@##@@@@####@@@########+#+'';;;;:,.`.,:;;::::::;''+#@@@@@#@@##+#'''+;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;+'+'###++#++#####+#########+++###+#++#@@@@@@@@@@#@@@@@@@#@@@#######+#+'';;;::::,.`.,;;::::::;''+#@@@###@@####+''';;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.  ..:;;'++'++###+#++#+###########@##++#####++##@@@@@@@@@@#@@@@@@@@@#####@###+'';;;;;::,,.``..::::,::;''+#@@@@##@@####+''';;;;;;;;;;;;;;'''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:`     ,'+++#++#####+++#####+#########+++#@#+#+##@@@@@@@##@@#@@@@@@@@@###@###+';;;;;;;::,,.````.::,,::;''+#@@@@@#@#####++'';;;;;;;;;;;;;;;'''';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;,`     .:+'+#'+##++++#####+##@#######+#########@@@@@@@@##@@##@@@@@####@###+'';;;::::::,..````.,,,,::;'++#@@@@@#@###@#+'+;;;;;;;;;;;;;';;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;###',      .;#'+'++++++#####+#########++##########@@@@@#@@##@@###@@@#######+'';:::::::::,..```..,:,,::;'++#@@#@@@#@#@@##++;;;;;;;;;;;;;;;';;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#####',.     .+##+#+++########+######+++#########@@@@@@@@@@##@@@@####+###++'';:::::::::;:,..`..,::,,,:;'++#@@#@@@@@@#@@#+++''';;;;;;;;;;;';;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:''+,.``,'##'.`   `;##+++########++######+++##@#######@@@@@@@@@########+++++++'';;::::::::::::,,,.,:';:,::;'++#@@@@@#@@###@@@';;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:'#+.`       .'##':.``.+#++++#######++######++++######@##@@@@@@@@@#######+++++++'';;::::::::::,:;;:::;''':::;'+++#@@@@@@@@@##@##@';;;;;;;;;;;;;;;;;;''';'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::##+#';:`      .'+#+':'+#+++#+######++#######+#+#@##@#####@@@@@@@@@@###+++++++++'';;::::::::::::;'+++++++;::;'++##@@@@@@@@###@@+#@';;;;;;;;;;;;'';;';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,####;++++.       :+#+##+##++++#######+#######+###@@@###@@@@@@@@@@@@#####++++++++'';;;:::::::::;;'++++++++';:;++###@@@@@@@@##+#@+++#+;;;;;;;;;;;;;;;;;'';'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;++++++++''`       `+#####+++#########++#####@#+##@@#@#@@@@@@@@@@@#############+++'';;;::::::::;'+#######+';;+#+###@@@@@@#@@#'+##++++#';;;;;;;;;;;;'''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,,,` ,+#+++###',  `:,.   +################++######@####@@@@#@@@@@@@@@@@@@###########++''';;;;::::,,:;+#######+''+#++###@@@@@@##@@+'+@#'''+'+;;;;;;;;;;;;';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:`       `,'++++#++`  .+'';,;+################+######@####@@#@@@@@@@@@@@@@@@@@##########++''';;;;:::::,:'+###@###+##+++###@@@@@@@##@@+++#++''+;'';;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+########+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,`           ;+++###:   .++++++################+#####@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@#####+++''';;;::::::;''+#######+++++##@@@@@@@@#####+##+''++';;;;;;;;';;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',       ,'+:    .+#+###`   :++###################+######@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++'''';;;:::::;;'+####+++++++##@@@@@@@@#########''''+;;;;;;;;;;;;;';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'.      `'#+++`     ;#+##:    ;+++###########@######+#####@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++++''';;;:::::'+#####+++++++##@@@@@#@@@#++#+##+++'''+;;;;;;;;;;';'';';'''''''''''''''''''''''''''''''''''''''''''''''''''''
+#########+##+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#.``    `;#'''',      '++#+`   `'#+###################+#####@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@######+++''';;;;:;'######+++++++++@@@@@@@@@@@@++####+'++'+;;;;;;;;;;;;'';;''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#:`....,,'##++'+'       :+##:    ;##############+###++#+####@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######+++''''''###+''+++++++++++@@@@@@@@@#@@@+###++;;;++;;;;;;;;;;;;'';'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#',,.``:;'+##++;.:;       ,+#+`   ,#############+#####+##+###@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######++++++####''+++++++++++++@@@@#@@@@@###@#+#++;;;;+;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#:,:    `:+##+:   :+.      ,+#;`  ,+##################++##+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########+###@##+'++++++++++++++#@@@@@#@@@@@@##@+##';;;;';;;;;;;;;;'';;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'+:;,`      `..    ,+#,      `+#.  .:#+################++###+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############+++++####+#+++++++#@@@@@@#@@@@#@@###+++;;;;;;;;;;;;;;;';;';''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'',;'+;,`           +++.      `#'``.;+:+##########@#####+####+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################++++++++#@@@@@@@@@####@@##+++';;;;;;;;;;;;;;;'';';'''''''''''''''''''''''''''''''''''''''''''''''''''''
+##########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;:;'++#''.         ;++'.      .#,`,:+;'######@@####@####+####+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################++++++++@@@@@@@@@@#'#++#@#@++';;;;;;;;;;;;;;;;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''
+#########+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+::+++'++##+:'':    .#++'       ;+,:;+;;#######'+##@#####+##@@#+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############+++++++#@@@@@@@@@@@#'##+'###+';;;;;;;;;;;;;;'';';'';'''''''''''''''''''''''''''''''''''''''''''''''''''
+###########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+,:+'+#:+#++++++;    +#+#:      `#::;+;;+###@@+'+#@@#########@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++++++++++#@@@@@@@@@@@##'##+'###'';;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''
##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',#++;'#+'++++++#,   ;##+#.      ;+:;+;;'####@++#######@######@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++++++++++++++#+@@@@@@@@@@@@+++##'+#@#';;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''+#++'+++++++'+#+;` `+++#;    ```+';+'';+###@'+##@@#####@#####@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++++++++++++#@+#@@@@@#@@@@@#+++#++'##+;;;;;;;;;;;;;;;;''';''''''''''''''''''''''''''''''''''''''''''''''''''''
+#############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;` .;'++';+'+++'#++#+. ;+###,`  .,,:#;+;'''++##+###@@####@#@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@@@@@#####+++++++++++#@#@@#@@@@@@#@@@@@#'++#'+#@+;;;;;;;;;;;;;;;;';''';''''''''''''''''''''''''''''''''''''''''''''''''''
+############++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`     .::,.`,+++++++#'` +##++`` `:;:#'+'''+#+##+##@@#####@@#######@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@#########+++++++##@@#@@@@@@@###@@@@#+++''++@#;;;;;;;;;;;;;;;;';''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.             `'+''####'`,####,```,';+++'''+#+#####@##@####@#####@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############++###@@@@@@@@@@@@@#'#@#@##+++;+'##';;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''
+#########+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,               `++'++###: +###'` `:+'+#+''+#@#########++###@@#########@##@##@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################@@@@@@@@@@@@#+##@#@##++;;'##+;;;;;;;;;;;;;;;;';;''''''''''''''''''''''''''''''''''''''''''''''''''''
+##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:`                .########..####,`.'+++@+''+##@###+###@'+####@@#@####@##@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@@+###@####+;;'##+;;;;;;;;;;';;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''
+############++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.`     `,`      `.:'#######'`+###+..+++#@++'##@@########;+####@@@@################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@@#+#+@@#@#+';;+#'';;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''''''''''''''''''
+##############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,,`    :##+;`.,,::;''########.,####,:##+####+##@########+''####@@@@@#####@@@#######@##@@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@@#++#'@##@#+;;;@;';;;;;;;;;;;';;;''';'''''''''''''''''''''''''''''''''''''''''''''''''''
##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:.;''';+++##++;;''''+++#@@@@##:.+###;;####@###@#########@';'###@#@@@@@######@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@@##+#'+@#@@#;;;#;+;;;;;;;;;;;;';;+';''''''''''''''''''''''''''''''''''''''''''''''''''''
+##############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:.:+###+''++#####+''++++###@@@@#':;####+#@##@##@@#@#+######';'####@@@#@@@@######@#########@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@@#++#+'+#@@@+;;#'+;;;;;;;;;;;';'+';';'';''''''''''''''''''''''''''''''''''''''''''''''''
+############+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'+++++++++++#'####@###+++++###@@@#+;;#####@@#@###@@#@########';'####@@@##@@@@@@@############@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@#@###+##'+@@@@';+''';;;;;;;;;;;'+';''''''''''''''''''''''''''''''''''''''''''''''''''''''
+###########+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+#+++++:;:'#+#+#########+;;;'+##@@++''###@@@@####@@@##########';+####@@@##@@@@@@@@##@########@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@@@@#####'+#+#@@@+++;+;;;;;;;;;'++';'';'';'''''''''''''''''''''''''''''''''''''''''''''''''
###############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+###++',   `,#############+,,:;++#@+++'#+#@@##+###@@@##+######+''+####@@@#@##@@@@#@@#@@#@####@@@@@@@@@@@@@@@@@@@@@@@@@@###############@@@@@@@@@@@@@@@#####+''#'+@@@#+;'';;;;;;;'##';;';';;''''''''''''''''''''''''''''''''''''''''''''''''''
+#############++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,.::;;;.     `:#####++##+####,,,;+#@+++'###@@@#'#######'+##+###+''+#####@@#@@@#@@@##@##@####@#@@@@@@@@@@@@@@@#@@@@@@@@@#######@@#######@@@@@@@@@@@@@@@@####@#+##+'+@@####++##+###+;;;;'';;'''''''''''''''''''''''''''''''''''''''''''''''''''
###############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,              ,+++####++#+####:,:'+@#+++###@@@#;''####';'#++###+''+###+#@@#@@###@@@#######@##@##@@@@@@#@@@@@@@@#@@@@@@@@####@#@@@#####@@@@@@@@@@@@@@@@@@#########';'+++##@@@##++';;;';';;;;;'''''''''''''''''''''''''''''''''''''''''''''''''
###############+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;              `.`  `.,;'####+##+::;+@#+++###@@@#;;;;;;;;;'#++####';+###+#@@@@@#@#@@@@######@######@###@@##@@@@@@@########@@##@@@@@#####@@@@@@@@@@@@@@@@@@@#########++++++++++';';''';;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''
+###############+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.              `        `,;+'#+#@';;+#++++#@@@@@+;;;;;;;;;'#++++##';+###+#@#@@@#@#@@@@@###########@#@##@@@##@@@@@@@###########@@@@#####@@@@@@@@@@@#@@#@@@@@@###############+''';;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''
+################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;`      ``                  ;+#####;;+#++++@@@@@#';;;;;;;;;;##'++##';+#@#+#@#@@@###@@@@@@###########@###@#@@@#@@@@@@@@##########@@######@@@@@@@@@@@#@#@@@@@@@@@#######+++''++++'''';;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''
+##############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;':.`:'+'';,                 ,+###@+'+#+++#@@@@##;;;;;;;;;;;##'++##+;+#@#+###@#@#@#@##@@@#########@#@@####@@@@#@@#@@@@#@@##############@@@@@@@@@@@##@###@@@@@@@@#++#++##+++''''';;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''
###############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;+##+++'#+###+'.               ,###@#+######@@##+;;;;;;;;;;;;##+'###+'+#@#####@#@#@#@####@@@#@@@############@@@@#@@##@@##@##############@@@@@@@@@@@#######@@@@@##@#+'++''+++++'';''';;;::;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''
+################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;##;++++###+++#+';;,:.         `;##@#+########+;;;;;;;;;;'++##################@#####@#####@@#@@@@############@@@@##@##@#################@@@@@@@@@@@#####+###@@@@#####'+';;;'++##+++';::::::;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''
##############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;++'++##++##+++#++#+++++;`     `.,+#@+##+++';;;;;;;;;;;;+###############@@##################@#@#@@@#@#@#@#####@#@@@#####@@@@###############@@@@@@@@#####++++###@@@@####++';;;;;;;+;:;,:,,::::;;;;'''''''''''''''''''''''''''''''''''''''''''''''''
+###############++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;+++####+##+#++++++++;++##',  ``,:+@#+;;;;;;;;;;;;;;;;+##############+###@####################@@#@@###@#@#####@#@@@@###@#@@@#################@####@#++++#''++###@@###@##@##'';;;::'::,,,,,,:::;;;'''+'''''''''''''''''''''''''''''''''''''''''''''
#################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;++++##+#++'++'##+++#+#++''##+. .,;+##;;;;;;;;;;;;;;;############@###@###########@#############@@@#@@###@######@#@@@@@@###@@@@#++##+##+#############++++'++''++###############+'::::;,,....,,::;;;''''+''''''''''''''''''''''''''''''''''''''''''''
################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;':,,;::;;++++++''++##++#+;++#+#,`,'+@+'+';;;;;;;;;;+##########@########+#######################@#@@@@@##@@#######@@@@@@@#@@@@@@##+##+##++######++++#+''+'++''''++##############++':,;,:...`.,,::;;'''++''''''''''''''''''''''''''''''''''''''''''''
###############+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;:`        `..,;''+'#++#+#+++###+#,,;+;;;;;++'';;;;'##########@########################@###########@@@@###@@########@@@#@@@@@@@@@@##+#####++#++#++++'#'''+'''+'''''+##############+++;;:;,...`.,,:;;'''+++'''''''''''''''''''''''''''''''''''''''''''
################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';;;;;;;;;;;;;;;;;;;;;;:`               ``.,::;++#######+#::;;;;;;######+############################@########@############@##@##@@##########@@@#@#@@@@@#@###+++#++++++'''''+'''''''''';''''++#############++':;,..``..,::;'''++++''''''''''''''''''''''''''''''''''''''''''
##############+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;:`                        .'+++'####+:;;;;;#++;'##@@#####################################@###########@######@@@#+##########@##@#@@@#@#''++++++'+';''''+'''''''''';;;;;;''''''''+++####+++;,.````.,,:;;''+++#''''''''''''''''''''''''''''''''''''''''''
################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;';;;;;;;;;;;;;;;:..`                          `;#+#+##@;;;;;'#+'+####@@######+++#+###############@#########@####+#############@@##########@###@#####@@#@@+++++'''+;;;;;;+;;;;'';;;';;;::::::::::::::''+##+++;.````..,::;''+++++'''''''''''''''''''''''''''''''''''''''''
#################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;:````                            .+#####+;;;;+######+##@@#++++++++++#++#############+#######@####+#@#############@@###@@####@@########@##@@+''+'';+;;;;;;+;;;;;;;;;;';::::::,,,,,,,,,:,,;+##++',````.,,:;;''++++'''''''''''''''''''''''''''''''''''''''''
################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';;;;;;;;;;;;;+#+;;;;:,`                          ;+###;'##############@#++''++++++#+++########+############@###+#@@##########@#@#@##@#####@#@###@########@#''+'''::::;:+;;;;;;;;:;;;::::,,,,,,,,....:,,:;+#++',```..,::;''++++'''''''''''''''''''''''''''''''''''''''''
#################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';';;;;;;;;;+###++#+'+;;';:,.                    ,##+##+++++++++++++@#@#+''''''++++#+#####################@###+#@@@###########@##@#@@#######@############@#+''''::::::';::::;;;:::;;,:,,,,,,,.......:,..,;+#++;.`..,,:;;'+++++''''''''''''''''''''''''''''''''''''''''
###############+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';;;;;;;;;;;+###+#+++++#++++'':;;,,,.`            .##++'''++'';'';;;'##@#'''''''++++++##########@#########@@##+#@@@@###########@#@##@#######@@############@@#++;,:::::':::::;::::::;:,,,,,,,,...........,,,;+++':.,,::;;''++++''''''''''''''''''''''''''''''''''''''''
################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';;';;;;;;;;;+##++##++++++++++#+####++++':,..`      :#+';;;'';:::;;;;;;##@#';;'''++++#+#####@##############@###+#@@@@@##########@##@#@#########@################+;:,,:,;:::::::::,:::;,,,,,,.........`...,..`,'++'':,,:;;'''+++''''''''''''''''''''''''''''''''''''''''
##################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;+##########+#+++'#++#++++++++++++'`   `,#+;;::::::::::;;:;'#@@#';;''++++#############+#######@@###+#@@@#@#@##@####@@##@##@#######################+##+';:,,;::::::::::,,:;:,,,,,.........```...```.;++''';:;;'''++++'''''''''''''''''''''''''''''''''''''''
####################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;######+##++#++#+##+#+#''+'+++#++###,``.,+';::,,,,,,,,::;;::'#@#@+;''+++#####@########+#######@@@####@@@@#@#@#######@###@#########################+####+;;:;,:,,,:,,::,,,::,,,,,.........````.```` `.;++;;':;;''++++'''''''''''''''''''''''''''''''''''''''
################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';;;;;;;;;'+#++''+#####+'++++';+++#+++##@@@@@@#;;;;+;:,,,,,,,,,,,,:;;::'#@#@+'+'+######@###########+###@@@##+##@@@@##@@###########@##@###############+######+######+'+;;:,,;,,,:,,,,:,,,,,.........``````````  `,'+';';;'''+++'''''''''''''''''''''''''''''''''''''''
###############+##++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';';;;;;;..,.``...:;'+###+''+';::;,:'';;;;;'++##+#@+:,,,,,,,,,,,,::;:::'@@@###+#####@##@#############@@@@@####@@@@@#@@##@#########@###++#########+##+++####+#########++':,:,,,,,,,,:,,,,,........````.`````    `.:++';';'''++'''''''''''''''''''''''''''''''''''''''
###################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;',..```        `..``.``    ````   `.,;'+@@@##,,,,,,,,,,,::::;;;;;+@@@@######@@###########@####@@@@####@@@@@@@#@########@####@###+######+#####+++++#+++########+++':;:,,:,,,,:,,,,,........```..`````    ``.:'++'''''+++''''''''''''''''''''''''''''''''''''''
#################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''';;';',...`` `           `````.,::::,,:;'+##@@@@##;,,,,,,,,,,:::::;;;;;#@@@@@#@@@@@@#@########@#####@@@@##@@#@@@@@###########@#######+++###+#+##+##++#++++++##+++###+++'::,,,,,,::,,,,,,.......``..```````   ```.:;++++''+++''''''''''''''''''''''''''''''''''''''
###################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+'+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;;;,,,...`  `       ``...:;'+++++##@@@@@@@@@@##+,,,,,,,,:::::::;;;''+#@@@@@@@@@@########+##@####@@@@@##@###@@@@@#####++#+#@######+#+'++#++++#+##+###++++++##'';'+##+'':,,,,,,:,,,,,,,.........``.``````    ``.,:;+'++++++''''''''''''''''''''''''''''''''''''''
###################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;'';;,,,,,..``` `    ``,,:'++++##@@@@@@@@@@@@####+,,,,,,:::::::;;;;'''+##@@@@@@@@@@@##@##########@#@#@###@###@@@@###+##+#+++#@#####+++'+++#++++++##+#++#++++++++'';;'+##;,,,,,,:..,,,,,,,.......``````````   ``..,:;+'+++++''''''''''''''''''''''''''''''''''''''
####################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;::::,,,..```````.,;'''###@@@@@@@@@@#@@@##@##,,,,:::::::;;;;;''''++##@@@@@@@#####@##########@#@########@@#@@###+##++#+++@@#####+#'''++#+++#+#####+++++#++++++'';;'++:,,,.:,...,,..........`.`..``````   ``..,::'+++'+++'''''''''''''''''''''''''''''''''''''
#################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;::,,,....``.,:,:;'###@@#@@#@@###@#+#####:,:::::;;;;;;;'''''+++###@#@@@@#####@@##@####@######+#####@@@@@@###@#+#++'+#@#+#+##++'+'++#+++++#++###+++++++++++'+';'++:,,,:.....................```````  ```.,,:;'+++'++;''''''''''''''''''''''''''''''''''''
####################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;+''''';;';:,,,..,::;+#####@#@@@@#####@#+#@###::::;;;;;;''''''''++++##@@@@@@@#####@@##@@@#########+######@@@@####@###++'++#@+#+###+;+';';'###+++###++##++++++++++'++''+;,:.............,...........````  ```.,,:;;+++'++'''''''''''''''''''''''''''''''''''''
###################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';'';;@###+++'+'';:::::'#@##+####@@######@@@###@@##::;;;;''''''''+++++++####@@@@@@####@@@@#@@@########+#######@#@@####@###+'+'+###+#+###''''''''+##+'+++#++++++++++##+++++++++,..........,,,.,...........```` ```..,::;'+++++'''''''''''''''''''''''''''''''''''''
#####################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';+@@@@@@@##@###+############@#####@@@@####@###;;;'''''''++++++++########@#@@@###@@@@@##@@@@#####++#########@@@@#@###@+'+'++#@+#+###+;+'''''''#++++'''++++++++++++++++'+++;:,.......,,,,,,,,,,,.....`````````..,,:;;'+++++''''''''''''''''''''''''''''''''''''
#################++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';'@@@@@@@@@@@@#@#@#######@@######@@@@@+#####@#;'''++++++++++++##########@#@@###@#@@@@@##@@#@@##++##+########@@@@@#####'''+'#@++#+##+''''''''''+'+++''''''++++++#+++++++'+#;;::,...,,,,,,::,,,,,...,.````````..,,:;;'+++++''''''''''''''''''''''''''''''''''''
####################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';#@@@@@@@@@@@@@@##@##@##@####@@@@@#####@@@##+''+++++++++++############@@######@@@@@@@###@#####++#++#+#######@@@@#@###''++'+#+'++###+;';;'''''+'''+'::;'++++''++++++++++++++';::,,,,,,,::::::,,,,,,.````````..,,::;''++++''''''''''''''''''''''''''''''''''''
#####################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;@@@@@@@@@@@@@@@#@@@@##@@@@@@@@@@@#####@@@#++++++###################@@@@@@@@@@@@@@@@@####+++++###++++#+####@#@@@@##@+;'+;'#+''#+##+';;::;'+'''';;'+';;;;+'++++'+'++++++++++'';:::,,,:::;:::::,,:...```````..,,::;;'++++''''''''''''''''''''''''''''''''''''
#####################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@####@@@@@@#+++#######################@@@@@@@@@@@@@@@@@###++++##+++++++++####@@@@###@@+'+';#';''#+##+';,,,:;;''++''''++'+''+++'++++++####+++#;;':,:::::;';;;:::;,...````````.,,::;;''++++'''''''''''''''''''''''''''''''''''
###################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@############################@@@@@@@@@@@@@@@@@@###+++##+++'+++++######@#+#@@###'+;#';;''+##+'';.,,:,:;;''':,,;'';;;''';;;'+++###+++'+';',,:::;;'';';;':,,...```````.,,::;;''++++'''''''''''''''''''''''''''''''''''
#####################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''@@@@@@@@@@@@@@@@@@@@@@@@@#@####@@@@##############################@@@@@@@@@@@@@@@#####++++#+'''''''+++++#######@@@@#@++#;+';''+#+''':.,,.,,::;'';;::;;::;++'';;';;;;'+#++++'+',::;;;''''''::,,,..```````.,,::;;''++++;''''''''''''''''''''''''''''''''''
####################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';''#@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@@###########################@@@@@@@@@@@@@@@@@#######++#+'';''';+++++###@###@@@@#@@##+#++'''+#''';;,,..,,,:::;;;';'';::+;;,,::;:;:;'+###+:'':;;;''+++';;::,,..```````.,,::;;'''+++'''''''''''''''''''''''''''''''''''
#####################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;'';''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@@@@@@@@@@#@#######+#+''';;;;;''+'##+#+''''+#@@@###++###+++##+'+;;;,,,,,,::::::::,,,.;::';::,:;:;;'+##++++++'++++++'';:::,..```````.,,::;;'''+++'''''''''''''''''''''''''''''''''''
######################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@@@@@@@@@@#@#####++###';;;:::;;;''++'#';;::;;;;;;#++++##+#'#+##+++':;;;:,,:,,,::::;;'###++++';:,..,:'+#++++;';;''+++'';;;:,..``` ```.,,::;;'''+++'''''''''''''''''''''''''''''''''''
########################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;';''+@@@@@@@@@@@@@@@@@@@@@@@@@@#####################################@@@@@@@@#@#####++###'';:::::;::;+'#';:::::::,,'#+##'#+#'+'+++#++##+';;;;;;++#+########+'';:''';.,,,;+''+#''';''+##'';;;:,..``  ```..,::;;'''++++''''''''''''''''''''''''''''''''''
#####################++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;'''#@@@@@@@@@@@@@@@@@@@@@@###################################@###@@@@@@@#@#####++#+'+'';;:::,,,,+;:,,..,,:,,.+#++#+###++##+##+++++####+';;;;+##+++''++++''';:;++,,,:;'''++++'''++#''';;:,..`` ````..,::;;'''++++''''''''''''''''''''''''''''''''''
######################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;''+#@@@@@@@@@@@@@@@@####################################+'''++@##@@@@##@####++#+';;;;:,,,,,,,,;,,,..,,,,,.:###+#+'+###+##+++++'+++:       .;:,,..,;:::;':;';:++:,,:;'';+++'+++++''';;:,..``  ```..,,:;;'''++++''''''''''''''''''''''''''''''''''
#######################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;'#@@@@@@@@@+''+###############################+';;;;;;;;;;;'@#@@@####+##+##';;;;:::,,,,,,,:;:,,,,,,..:#++'#########+++####++#;  ,:;:,`  .....,:,.,:''.,:;;'':,,:;'''++''++++''';::,..``  ```..,,:;;'''++++''''''''''''''''''''''''''''''''''
#######################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;';;''''+';;;;;;;;'++######################+';;;;;;;;;;;;;;;;;@@@@####+#+##+';;;;:::::::,:::;;;:,,...`;##+##+'###++##++++##++'  :#++''++,  `..,:```.:+;`.,;;+'::,:'+''+;''+++'';;::,..`    ``..,::;;''''+++''''''''''''''''''''''''''''''''''
########################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;'';';';;;;;;;;;;;;;;;;;;;;;;;;''++##########++'';;;;;;;;;;;;;;;;;;;;;'@@@####+#+#+'';;;;:::;::::::;;;:,,....,+####+##+#+##++'++++++'  :+++;+++##';.``,    `.:+,`.,:;+;:::;+'+';;''++';;;::,.```   ``..,,:;;''''+++''''''''''''''''''''''''''''''''''
########################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;@@@####+#++'';;;;;;;;;;;;;;;;;,......`'###+'++####+##+++'#+++``'+++++++##++#',.`    `;,:+....:'+:,::''+;;;''++;;;;::,.``   ```..,,:;;;'''+++''''''''''''''''''''''''''''''''''
########################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+@@###+#++''';;;'''''''''';:..........+###+##+#######+##+++#,`+++'+++++''++#'::     :#+,+'`...:'',,;'++;;;;'++;;;;::,.```   ``..,,:;;;'''+++''''''''''''''''''''''''''''''''''
########################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+@@###+#+';;''''++++';:,.............:++#####+#'####'#+###+' +++++++++,  `..``    .'++#,,';`..,;+;,,;++;;;;'+';;;;::,.``    ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
#######################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+@@####+;'''''++';:,..........,,,,...'+###+++###########+++ ;++++++++.           ,+#++#,::';..,:'':,:'+;;;;''';;;;::,.``    ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
######################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#######;;'''++':,...........,,:::,,,.'#####++##+###+++##++:,++++++++`         ` ,+###+#;`,,':..,:+:,:'+';;;''';;;;::,..`    ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
########################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;'';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;######+'+++++:,,,,,,,,,,,,,,::::,,,.:#+########+#######+#+.+++++++'.     ```  `'##+++#++,.,,;;,,:''::;+;;;;''';;;;::,..`    ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
##########################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#+@###+++++;,::::,,,,:::::::;;;:,,,.'+##'+#############++:'+++++++.      ``.``;#+#++####+.,,.,;;;;+;;;+;;;;''';;;;::,..`    ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
##########################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;';;';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#'#+##+'#':,,:;:::::;;;;;;;;;';::,,.'@##++####+###++#+##+;++'+++#,       ``.:'++##++#+###;.,,,.,:;+;::+';;;''';;;;::,,.`    ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
#########################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;#;#'##'''::::;;;;;;;;;;;;;''';,,,,.,+#########+######++#'++'+++#;        ``:##++#+###+##+,.,.` `,:';::'';''''';;;;;::,.`    ```.,,::;;'''++++'''''''''''''''''''''''''''''''''
#########################+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'+'#'+#'';;;;;''+'''''''';:.....,,,,:+#######@+##++######+++++++'`        .'+++#########':,.     :++;:;;';'''+';;;;;::,.`     `..,,::;;'''++++'''''''''''''''''''''''''''''''''
##########################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+''+;;#'';;''''''''++;:.````...,,,::;##############++####+++++++.        `'#+++########';;:.    `'###':;'''''++;;;;;::,.``   ``..,,::;;'''++++'''''''''''''''''''''''''''''''''
#########################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;'+;;';'''+++''++;,.`......,,,,,,::'########@###+#####'+#++#+#,        .;++#+#######++##+;;`   ,#####+;'''''++';;;;;:,.``   ```.,,::;;'''++++'''''''''''''''''''''''''''''''''
##########################+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;'';;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;+';;;'+++++++#',,,.,,,,,,,::,:::::+#################@#+####+;        `++++++######+####+#:   .;@#####+'''''++';;;;;:,,.`    ``.,,::;;'''++++'''''''''''''''''''''''''''''''''
#############################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';+';;'+##++##;,.,::::::;::;;;;;;;::########+#######'##+#####;`       ,+#+'+##++####@#####'   .:########;''''+#'';;;;::,.``   ``.,,::;;'''++++'''''''''''''''''''''''''''''''''
#############################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;#;;;;+###+;..,:::;:::;''''''++'';;####@###@#######@#+;#####,       ,'+++#########@###+++`  `:'#######',''''+#''';;;;:,.`   ```..,::;;'''++++'''''''''''''''''''''''''''''''''
############################+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';;;';;';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;+;;;;;#+;,,:,::;'';;''++++++++++;'###@@@@#@@@@#####@######'.``````.+#+++#++###+#@@###+#:  `,;#####+#'`.;'''+#'''';;;:,,``  ```..,::;;'''++##'''''''''''''''''''''''''''''''''
#############################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''';';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'';;;;;;::::;;;;'++++++++#+':,,,:;'###############@+#######'..,:::;+#+#+######+##@@@@##'``.,:'######'` `;'''+#+'''';;;:,.``````.,,::;;'''++##'''''''''''''''''''''''''''''''''
############################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''''''''''''''';;;;;';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;'';+;;;;;;::;;;''+++++++##+;,.```.,:;+@@@#@@@@@@####@@@@#####@;::;'''+##++###++#++##@@@##+` `,:;+##'+++` `,''''+#+'''';;;:,.``````.,,::;;'''++++'''''''''''''''''''''''''''''''''
##############################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;+;;;;;;;'+++++#+###@#',....,,,,:;;+##@@@@@@@#@@@###@@######''''+++#@#+#+####+++#@@@###:  .:;+###+++.  `:''''##+''''';;:,,.`` ``.,,::;;;'''+++'''''''''''''''''''''''''''''''''
###########################+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;;';;;;;;#########+';:,.,,,,:::;;;''###@@##@@#@@@@@@@@@##@###'+++++##@@++####++++#@@###;  `:;'####++.  `.;'''+###''''';;;:,.`````.,,::;;;'''+++'''''''''''''''''''''''''''''''''
#############################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''';;;';;;;;;;;';;;;;;;;;;;;;;;;;';'';;;;;;++###@#';,,,.,,::;;;''++++##@@#@@@@@@@@@@@@@@@@#@@@#'++++###@######+++++@@@##+` `,;'######,   `,'''++###+''''';;:,..````..,:::;;'''+++'''''''''''''''''''''''''''''''''
################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''';;';';;;;;';;;';;;;;;;;;;;;;;;';+;;;;;;;'+####::;::::::;'''++++++###@@@@@@@@@@@@@@@@@@#@@@@#++++###@@######+#++#@@@##.  .;;+#@###;   `.,''+++###+''''';;:,..````..,::;;;'''++++''''''''''''''''''''''''''''''''
###############################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;;';;;';;''';;;;;;;;;;;;;';;';;;;;;;'####+;'';;;;''+++++#########@@@@@@@@@@@@@@@@@@@@@@#++++###@#####++#+++#@@##;   ,;'#####+`   `.:''+++###+'''''';::,..```..,::;;;'''++++''''''''''''''''''''''''''''''''
###############################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';;';;''';;;;;;;'';;;;;;;;;;;';';;;;;;;;'+++''+##++++################@@@@@@@@@@@@@@@@@@#@@##++++########++##++#@@###`  `:;+#####:    `.;+++++####'''''';;:,..```..,::;;;'''++++''''''''''''''''''''''''''''''''
#############################+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;';''';';';;';;';;;;;';;;;;';+;;;;;;;;'++''''########################@@@@@@@@@@@@@@@@@@@@#+++++###''''+##++#@@###:   .:;######`    `,+'++++####'''''';;:,..```..,::;;;'''++++''''''''''''''''''''''''''''''''
###############################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''';'';;';;'''';;;;';;;''';;;;;;;;';'';;;;;;;;'++'';'#############++++++++#######@@@@@@@@@@@@@@@@#+++++##,,:'+###+#@@@@#+    `.,#####'    `.'#''+++####+'''''';:,,.```..,::;;;'''++++''''''''''''''''''''''''''''''''
###############################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';';';;;';;''';';';';;;;';';;;';;;;''+++'''''++##+++'''''';;''''+#######@@@@@@@@@@@@@@@#++++++,.,'++#####@@###.      `+####,   `.;###'''#####+'''''';;:,..``..,::;;;'''++++''''''''''''''''''''''''''''''''
#################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''';';;';';';'''';'';;;';';;;;;';';'+#++''''''''';;;;;;;;;;;;;''+########@@@@@@@@@@@@@#+''''`.:'+######@@@##'    ```.##+#+    `,#@@@+;:+####+'''''';;:,..``..,,:;;;'''+++++'''''''''''''''''''''''''''''''
#################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';''''''''''''''''''''';';'''';';';;';;';;'+##++'''''''';;;;;;;;;;;;;;''+#########@@@@@@@@@@@@@#+'.,:'+#####@@@#@##`   `.,,+####.   `.'@@@@+;:'####+''''''';:,...`..,::;;;'''+++++'''''''''''''''''''''''''''''''
#################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';'''''';'';';'';';';';';'+###+++'''''';;;;;;;;;;;;;;''+###########@@@@@@@@@@@#+,,;'++####@@@@@##.  `.,::'####,   `.:#@@@@+;;'###+'+'''''';::,.....,:::;;''''++++'''''''''''''''''''''''''''''''
################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';'''';;'';'';';''++####+++''''''''';;;;;;;;;''++###########@#@@@@@@@@#:,;''+#++#@@@@###:  `.:;+#@@@+.   ``,'@@#@#';'+###';++''''';;:,.....,,::;;''''++++'''''''''''''''''''''''''''''''
####################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';'''''''''''''';'''''''''''''++#####+++++'''''''''''';;''''+++##########@@@@@@@@@#:;'''+''#@@@@###+ `.,;#@@@@+,    ``.;######'+++###;;++'+''';;:,.....,,::;;''''+++++''''''''''''''''''''''''''''''
##################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++#######++++++++++''''''''''''++++############@@#@@@+'''+';######+##.`,;+@@#@+.     ``.:#######++'::++;;+++++''';:,.....,,::;;''''+++++''''''''''''''''''''''''''''''
##################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++###########++++++++++++'''''''+++++++##############@###:,+######+#;.;'#@@#@;      ``.,#@@######':..,';;'+++++'';:,.....,,::;;;''''++++''''''''''''''''''''''''''''''
#####################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++#################+++++++'''''''+++++++++++++++#####@+,`'#####++++:;+@@@@@,    ``...,+@@@@@#@@+;,...,';;+++++'';:,,.....,::;;;''''++++''''''''''''''''''''''''''''''
##################################+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++##################++++++'''''''''''''''''''''+++###'.`;#########+'+@@@@#.  ``.,,,:;#@#@###@@#',.``.:';;+++++'';:,,.....,::;;;''''+++++'''''''''''''''''''''''''''''
###################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++##################+++++''''''''''';;;;;;;;;'''++#+,.:########@@+#@@@@+` `.,:;;;'+#@@#@@@@@@+:.``..+#''+++++'';:,,....,,::;;;;'''+++++'''''''''''''''''''''''''''''
####################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++++#############+++++++'''''''';;;;;;;:::::;;;;'''++::+#####@@@@##@@@@+.`.:;''+######@@@@@@@#;.``..:######;++'';::,....,,::;;;;''''+++#'''''''''''''''''''''''''''''
#####################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++''''''';;;;;;;;:::::,:::::;;;''++''####@@@@##@@@@+,,:'+++++#####@@@@@@@@+:.`..,'#++###;;+'';::,....,,::;;;;''''+++#'''''''''''''''''''''''''''''
####################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++++++++''''''''''';;;;;;;;;;;:::,,,,,,,,:::;;;''++###+###@##@@@@#;:'+###+######@@@@@@@@#;,.....+######::+'';::,,,.,,:::;;;;''''+++#'''''''''''''''''''''''''''''
#####################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++'''''''''''';;;;;;;;;;;::::::::::,,,...,,,,:::;;;''+####@@###@@@@#''+###++#######@@@@@@@@+,.....,#######,:'';;:::,,,,::::;;;;''''+++#'''''''''''''''''''''''''''''
######################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++''''''''';;;;;:::::::::::::,:,,,,,,.......,,,:::;;;;'+###@@@@@@@@@#+######@@######@@@@@@@@;,.,..,;@#####+.:'''';;;;::::::;;;;;'''''++#'''''''''''''''''''''''''''''
########################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++''';;;;;;;;:::::::,,,,,,,,,,,,,.....``.`...,,,:::::;'+###@@@@@@@@####++#@@@@#####@@@@@@@@+,,,..,:+##+###;`:;;####+#++++';;;;;;;''''+++'''''''''''''''''''''''''''''
######################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++''';;;;;;::::::,,,,,,,,,,,,,.......``````...,,,:::::;'+####@@@@@####+##@@@@######@@@@@@@@',,...,'###+###.`::.+##+##########+';;;'''++++''''''''''''''''''''''''''''
#########################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''';;;;:::::::,,,,,,.,...........`````````...,,,,,::;'+#####@@@@####@@@@@@@######@@@@@@@#:.,....'######+``::.+##:`.,;#########'''''++++''''''''''''''''''''''''''''
######################################+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''';;;:::::::,,,,,,,,...........``````````...,,,,,,::;'+#####@@#@@@@@@@@@@######@@@@@@@@+,...,,,'######; .::.'###+.  `'##+######+'''+++''''''''''''''''''''''''''''
########################################+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++'';;;:::::::,,,,,,,.........`````````````....,,,,,,:;'+#####@@@@@@@@@@@@#######@@@@@@@@;.....,'#######,`.;:`'##+#+`   '##########+'+++''''''''''''''''''''''''''''
######################################+##+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++';;;:::::::,,,,,,,,,.......``````    ```......,,,,,:;'+###@@@@@@@@@@@@@#######@@@@@@@#:,,..,:#@@####+.`,;:`'##++#,```.###########++++''''''''''''''''''''''''''''
#########################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++'';;::::::,,,,,,,,,,......```````    ```........,,,:;'+#####@@@@@@@@@##++++##@@@@@@@@',,..,:'#@#####'`.:;,.+#####;````'#######+#@##++''''''''''''''''''''''''''''
##########################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++'';;;:::::,,,,,,,,,,,.....``````     ```.........,,::;'+###@@@@@@@@@#+++++###@@@@@@@+.`...,;#@######. .::..#+##+#'````,+######+#####+''''''''''''''''''''''''''''
########################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''+''';;:::::,,,,,,,,,,,......`````     ```..........,,:;''+###@@@@@@@##'+++###@@@@@@@#,```..:'@@@####' `.,:,:######'.```.+#############''''''''''''''''''''''''''''
########################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;:::,,,,,,,,,,,,,.....`````     ```...........,,::;'++##@@@@@@@@+++#####@@@@#@@'..`..,;+#######:`.,:,,;####+#'..`.,'##########+@#''''''''''''''''''''''''''''
##########################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''+'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'+'''''';;:::,,,,,,,,,,,,,....`````     ````...........,,::;;'+###@@@@@@#++++###@@@@@@##'...,,:'@@#@####,`.,:,.'######'...`,+#############+''''''''''''''''''''''''+++
###########################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''';;:::,,,,,,,,,,,,.....`````    ````...........,,,:::;'++###@@@@@#######@@@@@@@@#:.,,,.,'@##@###+`.,,,,,+######;.....'@#############''''''''''''''''''''''++++'
############################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'+''''';;:::,,,,,,,,,,,,.....`````   ````............,,,,::;;'++###@@@@#####++@#@@###@'.````.,+#######;..,,,.,#######:....,;@####@######@#'''''''''''''''''''''++++++
############################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'+'''''';;::,,,,,,,,,,,......`````` ````.............,,,,,::;''++###@@@##++';'########,```..,;@#######:..,...,#######',,..,;#####+@##@@###+'''''''''''''''''+'+++++++
############################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'++''''';;::,,,,,,,,,,,......``````````..............,,,,,::;;''++###@@@##+';+#######;.....,:+@######+,..,...;@+####+:.....;#####+#@##@@@@#+'''''''''''+'''++++++++++
############################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'++''''';;:::,,,,,,,,,,.....``````````...............,,,,,::;;''+++####@@@@#+###@####:..,,::'@###@#@#+,.,,,.,'@######:,,.,.;######'##@##@@#+'''''''''++'+++++++++++++
############################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''''';;;::,,,,,,,,,,,....`````````................,,,,,,::;;''+++###@@@@@@@@@@#@##,,,,::;+@@@@@##';.,,,,..+#######:,.,.,'@#####;##@##@@@#'''''+'+'++++++++++++++++
##############################################+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++'''';;;:::,,,,,,,,,,....`````````............,..,,,,,,,:::;;'''++#####@@@@@@@@@@+::::;;'##@@@@@##:..,,,,:##+#####:,,.,,;@#####;'@#@##@@#+''+'++++'+++++++++++++++
##############################################++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++'''';;;:::,,,,,,,,,.....````````................,,,,,,,:::;;;'''++###@@@@@@@@@@@+;;;;::;#@@#@@@##,,,,,,:'@####@#+,,.,,,'@@@###';@#####@@+'''''+++++++++++++++++++
###############################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''''';;;:::,,,,,,,,,,....``````................,,,,,,,,,::::;;;''+++####@@@@@@@@##+'';;:'@#@#@#@@',,,:::;#@######':,::,:+@#####':####@@@@+'''+++++++++++++++++++++
##############################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''';;;::::,,,,,,,,,.....````.....,,,,.....,,,,,,,,,,,,,::::;;;''+++#####@@@@@@####+';:'@@#@####:,::::;+@@#####@;,,,,,;#@#####'.+##@@#@@+'''+'+++++++++++++++++++
###############################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''';;;:::::,,,,,,,,.............,,,,,,,,,,,,,,,,,,,,,:,::::;;;''''++####@@@@@@######++#@@#####+.,,:::;+@#@#####,.,.,,:+@#####;.+#@@@@@@+''''++++++++++++++++++++
#################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;::::::,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,:,::::::;;;''''+++####@@@@@@####@@@@@@@@@@#',,,,,:'+@@@@##@+,,,,,,:#######;.+@@#@@#@+''+'++++++++++++++++++++
###################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++'''';;;:::::::,,,,,,,.........,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;''''+++###@@@@@@#@@@@@@@@@@@@@@;:::,,:;###@@##@+,,:,::'#@#####;,'@##@@@#+'+++++++++++++++++++++++
###################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''';;;:::::::::,,,,,.......,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;'''''+++###@@@@@@@@@@@@@@@@@@@+;;;:;:::#@@@@@@@'::::::'@@#####:.;@#@@@@+'++++++++++++++++++++++++
#################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:::::::::,,,,,,,...,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;;'''''+++####@@@@@@@@@@@@@@@@@#+';;:;;;'##@@@@@@#+';;:'#@@@####:,'@@@@@@++++++++++++++++++++++++++
####################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;;;'''''++++###@@@@@@@@@@@@@@@@@#+++';:;'#@@##@@@#++';;;'#@@@####,,'@@@@@#++++++++++++++++++++++++++
###################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;;'''''++++####@@@@@@@@@@@@@@#####++'';+@####@@@+++''''+@@@####',:'@@@@@#++++++++++++++++++++++++++
###################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;'''''++++#####@@@@@@#@@@@@########+'''@@@#@@@@'''''''#@@@####:,:'@@@@@+++++++++++++++++++++++++++
#####################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::;;;;;;'''''+++++####@@@@@####@@###########+##@@@@@@#'''''''#@@@#@##:,:'@#@@@+++++++++++++++++++++++++++
###################################################++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;;;;'''''++++++####@@@@################@@@#@@@@@#''''';;'@@@@@@#+::;+@@@@#+++++++++++++++++++++++++++
######################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::;;;;;'''''++++++#####@@######+'+#+++++##@@@@@@@###:;;;'''+#@@@##@':;'+@@@@#+++++++++++++++++++++++++++
########################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::;;;;;'''''++++++#####@#######+''+##++++#@@@@@@@@@+;;;;;''+@@@#@##;:;'+@@@@++++++++++++++++++++++++++++
#####################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;:::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::;;;;;;''''''++++++############+'''+#####@@@@@@@@@@#+''';;;+@@@####;;;'+#@@@++++++++++++++++++++++++++++
########################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;::::::::,:,,,,,,,,,,,::,,,,,,,,,,,:,,:::::::::::::::;;;;;;;''''''++++++############+'''''#@@@@@@@@@@@@@###+''';+@####@#;''++#@@@++++++++++++++++++++++++++++
#####################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;::::::::,,,,,,,,,,,,::::,,,,,,,,,,,:,::::::::::::::;;;;;;;;''''''++++++############'''''''+#@@@@@@@@@@######+++@@#@@@##''+++#@@#++++++++++++++++++++++++++++
########################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;''''''';;;;::::::,:,,,,,,,,,,::::::::::,,:,,,,:::::::::::::::;;;;;;;;;''''''++++++############'+'''+++'#@@@@@@@@####+++#+#@@@#@@@#;++++#@@#++++++++++++++++++++++++++++
##########################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''';;;:::::::,,,,,,,,,:,:::::::::::,,::::::::::::::::::::;;;;;;;;'''''''++++++############'''++'+++'+@@@@@@#####+#++##@@@@@@@++'++++@@#++++++++++++++++++++++++++++
########################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';':''''''';;;:::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::;;;;;;;;'''''''++++++###########+'++'+++++++++@####+###+++++@@@@@@@@#+++++#@@+++++++++++++++++++++++++++++
##########################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';''''''';;;;::::::,,,,,,,,:::::::::::::::::::::::::::::::::::::;;;;;;;;'''''''++++++############+'''++++++++++++####+##++++#@@@@@@@@@##+###@@+++++++++++++++++++++++++++++
#########################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':'''''''';;;;;:::::::,,,,,::::::::::::::::::::::::::::::::::::::;;;;;;;''''''''++++++++###########+++++++++++++++++###+##++++#@@@@@@@@#######@#+++++++++++++++++++++++++++++
#########################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':';''''''';;;;:::::::,:,,,::::::::::::::::::::::::::::::::::::::;;;;;;;'''''''''++++++++###########++++++++++++++++++###++++##@@@@@@@@@#######@++++++++++++++++++++++++++++++
#############################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';'''''';;;;;:::::::::,:::::::::::::::::::::::::::::::::::::::;;;;;;;;''''''''++++++++++##########+++++++++++++++++++####+++#@@@@@@@@@########++++++++++++++++++++++++++++++
#############################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';''''''';;;;;::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;'''''''''++++++++++##########++++++++++++++++++++######@@@@@@@@@@#######+++++++++++++++++++++++++++++++
############################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'':'''''';;;;;;:::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;'''''''''++++++++++++#########+++++++++++++++++++++###@@@@@@@@@@@#######++++++++++++++++++++++++++++++++
############################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:''''''';;;;;::::::::::::::::::::::::::::::::::::::::::::;:::;;;;;;;;;'''''''+++++++++++++#########++++++++++++++++++++++#@@@@@@@@@@@@######+++++++++++++++++++++++++++++++++
################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;::::::::::::::::::::::::::::::::::::::::::;::::;;;;;;;;;'''''''++++++++++++++#########+++++++++++++++++++++++#@@@@@@@@@@#####+++++++++++++++++++++++++++++++++++
################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''';;;;;;:::::::::::::::::::::::::::::::::::::::::;;;;;::;;;;;;;;;''''''''+++++++++++++++#######+++++++++++++++++++++++++@@@@@@@@@####++++++++++++++++++++++++++++++++++++
###############################################################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';'''''';;;;;;::::::::::::::::::::::::::::::::::::::;;;;;;::::;;;;;;;;;''''''''+++++++''++++++#######++++++++++++++++++++++++++#@@@@@@####+++++++++++++++++++++++++++++++++++++
###############################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'''''';;;;;;;::::::::::::::::::::::::::::::::::::::::;;;:;;;;;;;;;;;;'''''''''+++++++''+++++++######+++++++++++++++++++++++++++#@@@#####++++++++++++++++++++++++++++++++++++++
################################################################+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:'''''''';;;;;;:::::::::::::::::::::::::::::::::::::::;;;;;;:::;;;;;;;;;;''''''''++++++'''++++++++#####+++++++++++++++++++++++++++++######+++++++++++++++++++++++++++++++++++++++
################################################################+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':'''''';;;;;;::::::::::::::::::::::::::::::::::::::;;;;;;;;;;:;;;;;;;;;'''''''''++++'''''+++++++++####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#################################################################+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':';''''';;;;;;;::::::::::::::::::::::::::::::::::::::::;;;;;;;:;:;;;;;;;;;'''''''''+++''''++++++++++####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
####################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':;;''''''';;;;;;::::::::::::::::::::::::::::::::::::::::;:;;;;;::;;;;;;;;;;;'''''''''++''''++++++++++++###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
###################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:''''''';;;;;;:::::::::::::::::::::::::::::::::::::::::;;;;;;;::;;;;;;;;;;;;'''''''''++'''+++++++++++++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
##################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''';;;;;:::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;'''''''''+''''+++++++++++++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
###################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':''''''''''';;;;;;:::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''+'+''+++++++++++++++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
######################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''';;;;;;::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''++++'++++++'''++++++###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@####################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';;'''''';;;;;;::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;'''''''+++'++++++'''''''++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@#####################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'+'''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:;''''''';;;;;;::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;''''''++++++++++''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
###@####################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+:'''''';;;;;;;::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;''''''+++++++++''''''''''++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@#######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''';;;;;::::::::,::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'''''''++++++''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@####################################################################+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:'':'''''';;;;;:::::::,::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;''''''''++++'''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@#@######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''';;;;;::::::::::::::::::::::::;::::::::::::::::::;;;;;'';;;;;;;;;;;;;;;;'''''''++++'''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@#######################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''+++'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++'''''';;;;;::::::::::::::::::::::::::;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;''''''++++'''''''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
##@@######################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':;''''''''';;;;::::::::::::::::::::::::::::;::::::::::::::::;;;;'';;::::::;;;;;;;''''''++++''''''''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@#@###################################################################++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'+;'''''''';;;::::::::::::::::::::::::::;;;::::::::::::::::;;;;';;;;;::::::;;;;;;'''''''++''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@#@@##@##################################################################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;+''''''';;;::::::::::::::::::::::::::::;;::::::::::::::::;;;;'':;;;:::::::;;;;;'''''''+'''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@####@###################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;''''''''';;;:::::::::::::::::::::;:::;;;;;;;::::::::::::::;;;;:;#+:::::::::;;;;;'''''''+'''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@#@##################################################################+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''';;;:::::::,:::::::::::::::::;;;:;;;:::::::::::::::;;;;'+'::::::::::;;;;'''''''+'''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@#@@@######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;+:''''''''';;;;:::::::,:::::::::::::::::;;;;;;;:;:::::::::::::;;'++#':::::::::;;;;;''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@#@@###################################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''';;;:::::::::::::::::::::::;;;;;;;;;;;::::::::::::::;;'+:#':::::::::;;;;;''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@#@#######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''+'''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;+''''''''';;;:::::::::::::::::::::::;;;;;;;;;;;;:::::::::::::;;'##+':::::::::;;;;''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@@##@########################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'''''''''''';;;:::::::::::::::::::::;;;;;;;;;;;;;;;:::::::::::;;;'#++::::::::::;;;;''''''''''''''''''''''';;'''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@@@@#####################################################################++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'+:''''''''''';;;:::::::,:::::::::::::;;;;;;;;;;;;;;;:;:::::::::;;;;+#+,::::::::;;;;;''''''''''''''''''''''';';;;''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@@@########################################################################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''';;;;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;::;::::;;;;;''+:,:::::::;;;;;;''''''''''''''''''''''';;;;;''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@@@@@########################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++'+'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''';;;:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;:::;;;;;;;';,::::::::;;;;;;''''''''''''''''''''''';;;;;''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@@@@#@#######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':;;''''''''''';;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,,,:::::::;;;;;;'''''''''''''''''''''';;;;;;''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#@@@@@@@@@@@###@###############################################################+#+#+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''''''''''';;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::,,::::::;;;;;;;''''''''''''''''''''''';;;;;;''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#
#@@@@@@@@@@#@#####################################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::;;;;;;;''''''''''''''''''''''';;;;;;;'''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++#+
#@@@@@@@@@@@##@@#######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;'''''''''''''''''''''''';;;;;;''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+++#+##
#@@@@@@@@@@@@@#@######################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;::::::::;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;:::::::::;;;;;;;;'''''''''''''''''''''''';;;;;;;''''''++++++++++++++++++++++++++++++++++++++++++++++++++#+++#+++++##+++#####++
#@@@@@@@@@@@#@@#@#######################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:::::;:;;;;;;;;;;;;;;'''''';;;;;;;;;;;;;;;;;;;;;;::::::::;;;;;;;;'''''''''''''''''''''''''';;;;'''''''+++++++#+#+++++++++++++++++++++++++++++++++++++++++++#+#+##+##+#########
#@@@@@@@@@@@@@@@#####################################################################+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;::::;;;;;;;;;;;;;;''''''''';;;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;;'''''''''''''''''''''''''''';'''''''''+++++++#+#++++++++++++++++++++++++++++++#+++#+#+####+#+#################
#@@@@@@@@@@@@#@########################################################################+##++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;';'''''''''''';;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;''''''''''''''''''''''''';';''''''''''+++++++++#+++++++++++++++++++++++###+++++##+#+#########+################
#@@@@@@@@@@@@@@@@#########################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''''';;;;;;;;;;;;;;''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''';''''''''''''++++++++++##++++++++++++++++#+++##+##+##+################################
#@@@@@@@@@@@@@@####@######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''''''';;;;;;;;;;;;;;''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''';;''''''''''''''''++++++++++##+++++++#++#+++#+#++####+#######+#############################
#@@@@@@@@@@@@@@#@#@#########################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''';;;;;;;;;;;''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''';'''''''''''''''+++++++++++##++++++++++#+#+#++############################################
#@@@@@@@@@@@@@@@@@@########################################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'+'''''''';;;;;;;;;''''''''''''''''''''';';'';''''';;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''';;;;''''''''''''''++++++++++++##++##++####+##################################################
#@@@@@@@@@@@@@@@@@@@@########################################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;++''''''''';;;;;;';''''''''''''''''''''''''''''''''''''''';;;';''''''''''''''''''''''''''''';;;''''''''''''''++++++++++++################################################################
#@@@@@@@@@@@@@@@@@@#####@####################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':++++'+''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;''''''''''''++++++++++++#################################################################
#@@@@@@@@@@@@@@@@@#@@@########################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':++++'''''''''''''''''''''''''''''';;''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;''''''''''''++++++++++##################################################################
#@@@@@@@@@@@@@@@@@#@@##@#######################################################################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''+'+'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:++++''''';''''''''''''''''''''''';;';;''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;'''''''''''+++++++++++##################################################################
#@@@@@@@@@@@@@@@@@@@@##@##########################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+:'+++''''''''''''''''''''''''''''';';;;;''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;'''''''''''++++++++++###################################################################
#@@@@@@@@@@@@@@@@@@@@@#@@#@#######################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''#,+++'''';;;'''''''''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;'''''''''''+++++++++####################################################################
#@@@@@@@@@@@@@@@@@@@#@@############################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'++,'++'';;;''''''''''''''''''''''';;;;''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;''''''''++++++++++####++##############################################################
@@@@@@@@@@@@@@@@@@@@@@##############################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':';#+,'+''';;;''''''''''''''''''''''';;;;;''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;''''''''++++++++++###''###############################################################
#@@@@@@@@@@@@@@@@@@@@@@#@#######################################################################+####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',';;#+,'''';;;;;'''''''''''''''''''''';;;''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;'''''''++++++++++++';+################################################################
#@@@@@@@@@@@@@@@@@@@@@##@###########################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''''''''''''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::';'++,;'';;;;;'''''''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;'''''''+'+'''++++;:'##################################################################
#@@@@@@@@@@@@@@@@@@@@@@@#@#############################################################################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:'';'+#::;;;;;;;''''''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;'''''''''''''';:;+####+###############################################################
#@@@@@@@@@@@@@@@@@@@@@@@#@##@#########################################################################++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';::;;;'+#'::;;;;;''''''''''''''''''''';;;;''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;''''''''''';:::+#######+###############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'+'++'''+'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':::;;;''+#':,:;;;'''''''''''''''''';;;;;;;''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;'''''''';:,:'+#+########+##############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@##@#############################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;:;;';;;;;+#+':,:;'''''''''''''''';;;';;;;;''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;';::,::'+#+''+++######+##############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@#@@############################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''++''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:::;';;;;;''+#+';,::;'''''''''''';;;;;;;;;;''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;::,,,;'+##++''''++#######+##############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###########################################################################++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++++++++''+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+';:::;'';;;;;;;+###';:,:;;''''''';;;;;;;;;;;''''''''''''''''''''''''''''''''''''''';;;;;;;;;;:,,,::''+##++'';;''''+++####+++##############################################################
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';++;;::::'+';;;;;;'++####';::,::;'';;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''';;;;;;::,,,:;;'++++'''';;;;;;;'''++#+++++###############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:;#+';::;;'++';;;;;;''++######',,,::::::;;;;;;;;''''''''''''''''''''''''''''''''''';;:,.,,,,.,:;+++++'+;;;;;;;;;:;''+#+';'+++###############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################################################################+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:;+++';::;;;''''''';;''''+####'+;:::'';:,,,,:::;;'''''''''''''''''''''''''''';;::,.,,;;''+;;'+';'''';;;;;;;;;;;:;''+#';'+#++++##############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+++'+''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:;++++'::;''''''+''''''''+++#'+#########+#+'':,,,,,:;;;''''''''''''';;;::,,,::;;'''++++++;';,,,;::::::::::::::;''+';;+####++###############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'+'+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:';;;+++++;::;'+''''++''''''''+;;;'++###########+++++'';;::::::,:,,,::::;'''++++++++++'''''+,,,,::,,,,,:::::;::;';';;'+#####++#+#############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#############################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++'+'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+::;';:;+''+++;:::;'';;;''''''''';;;;;+#++##########+++++####++':,,;'+'++++++++++'''';;:,,,,,:::::;;,,::::::::::;;;;;'+########++##############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@###########################################################################+++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++++++''+''+''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':::'';;'#'''+#+'';::;;;;;;;;'''';;'';##+++++++++##########++##+;:::,;++'+'';:,,,........,,,,,:;;:;;:;;;;;;::::;;;;'++#####+###+++#############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@################################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'++++'+++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;:::'+;;'#''+++++++;;;;::::::;;;'''+'#++++++++++++++###########+#+'':,,......,,,,,,,,,,:::::;;;;;;;';;;;;;;;'''''+++####++###++++#############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@########################################################################+#++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;::'';;+##'+++++##++'';;::::::'''''#';:;;;;;''''+++++++#####'#';;'',,,,:::::;;;;;;;''''''''';;;;;'';;;'''+++++#++###++###++++++#############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#############################################################################+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''+'''+''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;:'';'+##+++++++++++++';;;;;'''''':,:::::::::'++++'''+####++'::;';;''''++++++++++++''''''';;;;;'';'''++#########++####+'+++++#############################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################################################################+######++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'''''''+''''+'''''''''''''''''''''''''''''''''''''''''''''';::;;;;;;;''''+####+++++##++++++++''''''';;;,,,,,,,,,,,:;''+'+++###++';+''+++++++++++++++++++++++'''''+++++########+#+#####+'+++++++++###########################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##############################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+'''+'+''''''''''''''''''''''''''''''''''''''''''''''''':::;;;;;;;;'+''+#######+++##+++#+++++''++++''''';:;';:::,,,,,:'+'#''++;+;:::;;'''+++++++++++#++##+'++########++###########+++#+'++'''#++#########################################################
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@@###############################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++'++'++'++'+'''''+'''''''''''''''''''''''''''''''''''''''''''';;;;;'';;;;;'++'++#########+'+####+++++#++++++';;'';:::;::,,:,,++++#:;;++';;;'''''++++############++####+####################+'''''''++'+##############@###@####@##########@####@######@###@#@@##
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''+''''''''+''''''''''''''''''''''''''''''''''';;;;;;'''''';'+++++########@####+++######++++'''++;::::::::,,,.,''',,,'##++++''''++++++++++++++++++######@#@@#############++';''';'''++;+@######@#########@#@@######@@@#@@@@@@@@@#@@#@@@@@@@#@#@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#########################################################################+#+##+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++'+'+''''''+''''''+'''''''''''''''''''''''''''';'';;;;;''++++'++++++++#######@#@#########+++''''';;;'';;;;:::::,...,:;#########+++''''''++########+###++#@#####++#######++'''++';'''++;;+@#####@@#@@#@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################################################################+#+#+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+++'''+'''+'''+''''''''''''''''''''''''''''''';,'''';;;;;;''+++++++++++++++++##@#++++#+##########++'';;;'''';;:,,,::;+##+++++#############++'''''++#++++++#@;#+++###########+';;''+';:;++#@#@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@##############################################################################+###+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++'++++++++'''''+'+''''+'''+'+'''''''''''''''':,:''''';;;;;;''+++++++++++++';#@#+++##++##++++++++#++#+++'';;;;;::::'+####+#++++++'++++++''''''+###++++'''''':+++++#######+';;''++':,:;+#'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@################################################################################+#####+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++'++'+'+'++'+''+''''''''+''''+''''''''''::,;''''''';;;:;;''++++++++++;;;+##++'++########+';;+++'';,,;++'::;;;'#@@#';;;;'''+'''';;;''''''+++'+++'';';;::;#######++';;''+++;,,,:;++''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###################################################################################+##+++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'+'+'''''''+'''''+'''+'''''''''+:::,,;''''''''';;::;;;''++++'+::;'+'++++############+''''';;::::'';;:;+#@#+';'''''';;;'''''''+++++''+++''''';::::+''';;::;''+##':,,,::;'++;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@######################################################################################+##+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++++'++'+'+++''''+'+'''''''''''''''';,;:,,;''''''''++'''''''''''++::::';+#################++++';:::,:;;;''###+''''+'''''''''''++++++++++++++++#+;::::;:,,,:'++++':,,,:;'''+#+;:;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@#######################################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++'+++++''+++'+'+'''+++''''';,;;,.:;'''''''+++++++++++''+;;:::''+####################++;;;::;'+++@##++++#+++'+++++++++#+++++++++'###+'';;::;:,,:;;;:::,,:;'+####@#+;+'+'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#########################################################################################++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'+'''+++++'++''+'''+'+'+:;,:;;,,,;;''''''++''+++++++;+';;,:#######++###############''';:::;+#@########+++######+++++'+''';;;;+####+:'';''++##+;::;'+##########+++#+'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#######################################################################################+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++++'++'+''''+'++'+'+'+',,;;;:,,,,::;;;''''''++';+#'+;:,:'#+++';;;''+###########'';:::,,:+###############++++'''';;;;:::,,;+++';'+#++++################++####+++''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###########################################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++++++'+'++'++''+#';;:,,,:;;;:::,,,,,,,,:::+####'';,::;;;;:::::;;'+########++;;:::,,'#############+++'''';;;;;;;:::;;;;;;;'+#####+;;'+##########'+++#+##+'+';#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@###@#############################################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''++'+++''';+#+'#'+';::,,,,,,,,,,,,::'+#####+++':;::;;;:::::::;''+######+''';;;:'##########++'''';;;;;;;;;;;'''''++++#########++''''#+++++#+++++##+'';;''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#####@#########################################################################################+#+++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+';'''+++'''''++++++''''++++##########++'';;;;;;;;::::::;;'+######++'';;+@######++'';;;;;;;;'''''+'++++++#################+#+##+++++#++'';::;;'++'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@####@#########################################################################################+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++'++'+++++++'+'''';''+'++''+'+''++####################++'';'''';;;;;:;;;;'+#@##++++';+######+'''';'''''++++++++###########################++++++';;:,:::;;'+##+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@#@@@@@@@#@@@@@@@@@@@@@@@#@@@@@@@@#@@#@##################################################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++'++++'''';''';;''+++++++##+####################+++++++++''';;;'''++##+#+''''+#####++''''+++++###################################+++;;':,,,:::;''++####+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@#@#@@#@@@@@@@##@@@@@#@@@@@@@##@@#@@###@###########################################################################################+##+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''';';';'''+'''''+++#####@############################+++++###+##+';'+##############################++++#+++###########++';:,:,,::;;;;'+######++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###@#@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@@###@###########################################################################################+##+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''';;;;;;;:'+++++#+++#######################################+##++++#################################################+;:,,,::::;;'''+######+'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######@#@####@##@##@@@@@@@@@@@##@@#@@#@@@##@#@###############################################################################################++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''';;;;:::,:;''+++#########################################+#####+@###############################################':,,,,::;;'''+++####++'''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@###########@###@####@@@@@#@#@@##@@@@@##@#@#@####@#############################################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''';'''''';::,,,:;;;'+#######@###############################################################################++++++;:,,,:;';++++++#+####+'';++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#######@##########@@@@#@#@@@##@@@@@####@@##@@################################################################################################+++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';'''''''''+++++';::::::::;;'++###@#@@@#####################++++##############+++++++++++++++++++++++++++++++'''''';;;;::::;;'+#'#++++##+###'';;+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##################@##@@@#@@@@@@#@@@@##@@#@@@#@###############################################################################################+##+++###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;''''''++'+++'';;;:::,,:::;''++++#########################+###########+####+++''''''''';;;;;;;;;;;;;;;::::::::,,,::;;;;'++##+'#+++++++#+;::;'++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##################@####@@#@@#@@@@#@##@@@###@@##@@@###############################################################################################+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;'''''+''''+'''''';;;:::::::;;'''''''++++++++++++++++++++++++#########+####+++'';;;;;;::::::::::::,,,,,,,,,,,,:::;;;'++####++'#++++++'':::;'++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###################@#@#@@@@@@@@@@@@#@@#@##@@######@###@####@##########################################################################################+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'';'''''''''''+'++''''''';;;;;;';;;;;;;;'''''''''''''''+''''+++++###########++'';;;;;;:::::,,,,,,,,,,,,,,,:::::;;;;''+###++++''#++++;:,,::'+#++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#################@#@#@#@##@##@@@@#@@#@@##@@@##@@#####################################################################################################+++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'';';;;;;;'''''+++'++++++'''';';;;;;;;;;;;;;;;;;;;;;;;;'''++'+++#######+#++''''';;;;:::::::::::::::::::::;;;;;'''++'+++''';'''+';:,,,,:;+++#+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######################@#@@@##@@@@@@@#@@#@@@@@##@##@@#################################################################################################+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''#++''';;;;;;;;''''''++++++++'';''';;;;;;;;;;;;;;;;;;;;;;;''+++++++######+###++''';;;;;;;;;;;;;:::::;;;;;;;'''+++++++'+;;:::::,,:,.,,,:;;+++##+++'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##################@###@@##@@@@@@@@#@@@###@@#@##@#@#@##@#@###############################################################################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';'##+'''';;;;:::;;;;';;;;'''''''''''';;;;;;;;;;;;'''''''';;'++#++'+#######+#++++'''''';;;;;;;;;;;''''''''++++++++++'';':,,,,,,,,::::;;'''++++++';:+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#########################@###@#@#@@@@@@@@#@##@@@###@##@##################################################################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;'++++''''''';;;:;;;;:;;;;;;;''''';''';;;;';'''''''''''''''''++++++######+++''+++''''''''''''+++++'+++++++++++''';;;;;::::::::;;'''''';;;:,,:::::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
############################@@#@@@@@@##@@@@@@@@@#@#@@@@##@###@###########################################################################################+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;'+++++'''''''';;'';;:::;;;;;'''''''''''''''''''''++++++''''+++++++#####+++++''''++'+++++++++++++++++++++''';;;;::;;;;;;;;''+++###++++'''''';;:;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##########################@##@@#@#@@@@@@@@@@#@@@@@@#@@@###@#@#############################################################################################+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+;;;;'+#++++++++++''''';;;;;;;''''''''''''''''''+++++++++++''''++#++++#####++++++++++++++++++++++++++++'''';;;;;;:;;;;'''++++++#+##############+;'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#######################@@###@@@@@@@@#@@@@@@@@@@@@@@@#@@@@@###@##############################################################################################+#+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'';;''++++'++#####+++++++++++'+++++++''''''''''''''''+++++'''++++##++#####+++++++++++++++++++++++++''''''';;''''''''++++++###################+''++'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#########################@@#@@@@@@@@#@#@@@@@@@@@@@@@@@###@@@#@@#################################################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';'++'';:::;;''''''+++'+'+#######+######+++++++'''''''''''''+++''###++###+####++++++++''''''''''+++'''''''''''+++++++++##+########@####++###'+'';;;'+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######################@##@#@#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@######################################################################################################+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;'+'';;::::;;::::::;'''''++####+###########+++++'''''''''''++++++#+++###+###++++++'''+++++++++++''++++++++##+###+++++##########+++'';;;;;;;;:::;''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#######################@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@##@###############################################################################################+++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;'+''';;;::;:::;;;''++'''''++++#############+++++'''''''''''+#+'+'++#########++++++++++++++++++#+##########+++++##########+''';;;;;::::,,:::::'+++#++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#####################@@##@#@@@@@@@@@@@@@@@@@@@@@@@#@#@#@#@@#@@#@@@#################################################################################################++#+++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;''''''';;;;'''+'''++''';;''''#+++###########++++++++''''++++++++++########++++++++++++++##############################+++';;::::::::,,,:::;'+++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#####################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@@@@@##@#@################################################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''';;'''''';;;;;;;;;;;''''';;''''+'+++++##############+++++++++++++###########+++++++++##+############################+++'';;;;;:::::::::::;;;++#++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#####################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@#####@@@############################################################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''';''''''';;;;::::;:::;;;;;;;;';;''''++++################++################++++#############################++++''';;;::::,:::,,:::::;;''''++++'''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@#@###########################################################################################+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''''''''''';;;;;;::::::::::;:::::;;;''''++++####################################################++++'''';;;:::::,,,,:,,,,,,,,,::::;''++'''';;'''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######################@@@@@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@###############################################################################################++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''';;;;;;;;;;:::::::::;:::::::::;;;;;''''++++++++++++############################++++''''';;;;:::::,,,,,,,,,,,,:,,,,,,::::;''++''''';:;;;;'''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###################@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@##########################################################################################++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''';'';;;;;;;;;;;;;;::;:;;::::::::::::::;;;;;''''+++++++++#################++++'''';;;;;;::::::,,,,,,,,,,,,,,,,,,::;;;;'''''''';;;::;;;';;;;'''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@####@############################################################################################+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''';''''';'';;;;;;;;;;;::;;;;;';;;;;;;:::::::::;;;;;;;;;;'''''+++###############+++''';;;;;:::::::::::::::::::::::;;;'''+++++#####+';::::::;;;'''';'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#################@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@###############################################################################################+++#++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''''''';;;;'''''';;;;;;;';'';''';''';;;;;;;;;;;;;;;;;;;''''''++++###############+++'''';;;;;;;;;;;;;;;;;;'''''+++++++###+######+++'';::::::;;;;;;;'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@##@@#@##@########################################################################################+++##++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''';;;;;;;;;''''''''''''+'+++++++++++++++++''''''''+++++++##################+++++++''''+'''''''++++++++++++########++''';;;;:;';;;::::;::::;;'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@###############################################################################################++##+##+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''';''''';;;;;;;;;';'''''''''++++######################################################################+#++###########++'';;::::::::;;''''';;;;;;;'+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##########################################################################################+###++#####+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''';''';;;';;;;;;;;;;;;''''''+++++################################################################################++';;::;::::::::::;;''+++'';'''+'+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###############@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#################################################################################################++++#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''''';';';;;;;;;;;;;;;;;;;;;''''++++########################################################################++'';;::::::::::::::::::::::;;'';'++#+++'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@###@###############################################################################################+##++###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''''''';;';;;;;;;;;;;;;;;;;;;';;;;;''''+++++##############################################################++'';;;;;::;;::;:;;;;;;::::;::::::;;'++++'''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#############@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@################################################################################################+###++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'''''''';;;;;;;;;;;::::::;;;;;;::::::;;;;;''''+++######################################################+++'''''''''';;;;;';';;;;;''';;;;:::;;;''''''''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@##########################################################################################+#+#++#++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'';''''';;;;;;;;;;;;;::::::::::::::::::::::;;;;'''++++############################################++++++'''''''''';''';;;;;;;;:;;;;;;;;;;;;;;;;'''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#######################################################################################################+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'';'''''';;;;;;;;;;;;;:;::::;:::::::::::::::::;;;;;'''++++#################################+++++++''''''''';;;;;;;;;;;;::::;:::::::::;;;:;:;;';';;;;'+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@#####################################################################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''::+''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;;::::::;;;;;;;''''+++++##########################+++++++''''''''';;;;;;;;;;;;;:::::::::::::::::;;;::;;;;;;;;;''+'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#########@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@###################################################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+;;+''''''''';;;;;;;;;;;;;;;'';'''';;;;;;;;;;;;;;;;;;;'''''+++++###########################+++++'''''''';;;;;;;;;;;;:::::;:;;;;;;;;::::::::;;;;;;;:;;'''';'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@###################################################################################################+###+#++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+''''''';''';;;;;';;;;;;;;;''''''''''''''''''''''++++++################################++++'''';;;;;;;;;;:::::::;;;;;;;;;;;;;;;;;:::::::::::::,;;''''';'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@#@####################################################################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''##++'';''';'''';;;;';;;;;;;;;;;;;;;'''+++++++##############################@#############++''';;:::::,,,,,,,,,,,,,,,,,,,:::,,,,,,,,,,,,,,:::::::;;''';;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@###################################################################################################++##++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''#+++''''''+';;;;;;;';;;;;;;;:;;;;;;;;;''++#################################@@@#############++''';;:::,:,,,,,,...,...............,,,,,:::::;;;;;''+';:::;'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@#####################################################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''#'++''';;'';;;;;;:;;:;;;;;:;;;;;;;;;;''''++##############################@##@@@#################+++''';;;::::::,,,,,,,,,,,,,,,,,,:::;;;;;;;;;;;';;;:;;;'+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@#######################################################################################################++#+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+++'''';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;'''++#######################@####@###@@#@@########################+++++''''';;;;;;::::::::::::::::::::;;;:;;;;''+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@########################################################################################################+##+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''++'+''';;;;;;';;;;;;;;:;;;;::::;;;''''++################################@#@@@#@@###################################++++++''';;;;:::::::::;;:;;;;''''++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################################################################################################+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+;;''++''+';:;;;;;;;';;;;;;;:::::;;'''++#####################################@@@@@@@############@@@@@@#@#@@##################+++++''';;;;;;;;;;;''''''+++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##########################################################################################################+++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;+'';;'''+++';;;;;;;;;;;;;;::::::;;'++++#####################################@@@@@###@###################@#@@@@#############++++'''''''';;;'''''''''''''''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###@##########################################################################################################+#+#++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+;+';;'++++'';;;::;;;;;;;;;;;;;;'++#######+++'''+++#########+++############@@@@@@@@#@#############+++++++'''+++++''''''';;;;;;;;;;;;;;;;;;;;;;;;;;''''''+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@##########################################################################################################+#########+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''+'';'''++++++';;;;;;;;;;'''''''++++++''';;;;;;'''++#####+++##############@@@@@@@@#@##############+++''';;;:::::::::::,:::::::::::::;:;;;;;;;;;'''''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@#####################################################################################################+##+++++#++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''';++';;;''+'''++++'';;;;;;;;;;;;;:::::::::::::;;;'''+++###################@@@@@@@@#@#@################++++'';;;:::::::::::::::::::::::;;;;;;;;;;;''''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########################################################################################################+####+#+#####++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'++'';;;'+';'''+''''''';;;;;;;:,,,,,,,,,:::;;;''''++++#+#############@#@@@@@@@@@@##@######################+++''';;;;;;;;:::::::::;;;;;;;;;;;;;'';'''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@##############################################################################################################+##+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+#'++'''';;''';;''''''++++++++++';;::::::::;;;'''''+++++++###########@@####@@@@@@@@###@#########++++++########++++''''''';;;;;;;;;;;;;;;;;;;;;;;;;''''''''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@###################################################################################################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++#+''+++''''''';;;;'''''''++######+';;;;;;;;;''+++++'''++++#################@@@@@@@@@##@########+++''''''''+++##++++++'''';;;;;;;;;;;;;;;;;;;;;;;;;'''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@#############################################################################################################+##+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'''+++'''''''''''''';;;;;;;;;;;;:;;;;;;;;'''+'''''''+++++#####++++++######@@@@@@@@@###########+++''';;;;;;;;;'''+'+'''';;;;;;;;;;;;;;;;;;;;;;;;'''''''''+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#####################################################################################################################+#+#++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''+'''''''''''''''';;;;::;;::;;;;''''''''''''''''''''''''''''+++++++####@@@@@@@@@###@#########+++''';;;:::::::::;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;''''''+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@######################################################################################################################+#+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+++'''''''''''''''+''';;;''''''''+++++'''';;;';;;'''';;;;;;'''''+++++###@@@@@@@@@@@##@###########+++'''';;;;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##################################################################################################################+##+##+#+#+++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+'''''''''''''''''''''''''+++++++++++'''';;;;;;;;;;;;;;;;;;;;''''++++###@@@@@@@@@@@########++++++####+++++'';;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@#########################################################################################################################++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''+'''''''''''''''''''''''''+++++'''''''+';;;;;;;;;;::::::;;;;;'''''+++###@@@@@@@@@@@###@#####+++'''+++###+++++'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#######################################################################################################################+#+##++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''++'''''''''''''''''''''''''''++''''''''';;;;;:::::::::;;;;;''''''+++###@@@@@@@@@@@@@##@######++''';;''''++++++++''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@#@@##########################################################################################################################+#+++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''+'''''''''''''''''''''''''''++''+''''';;;;;;;::::::;;;;';''''++++++###@@@@@@@@@@@@@##########+++'';;;;;;;;'''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;''''''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@#@##########################################################################################################################+++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''++'''''''''''''''''''''''''''''++++'''''''';;;;;;;;''''''++''++++++####@@@@@@@@@@@@@###########++++''';;;;;;;;;;;'''''''';;;;;;;;;;;;;;;;;;;;;;;;'''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##################################################################################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''+++''''''''''''''''''''''''''''''''''''''''''''''+'''+++++++++++++####@@@@@@@@@@@@@@@########+++++++++'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@###################################################################################################################################+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''+++'''''''''''''''''''''''';';'''';;;;;''''+++++++++++++++++++++++####@@@@@@@@@@@@@@@#########+++++++++++'''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@###############################################################################################################################+##++#++#+#+++++++++++++++++++++++++++++++++++++++++++++++'++'''++'''''''''''''''''''''';';;;;;';;;;;;;''+++++++#########++++++#######@@@@@@@@@@@@@@@#########++++++++++++++''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#####################################################################################################################################+##+##+++++++++++++++++++++++++++++++++++++++++++++++'''''''++'''''''''''''''';;';';;;;;;;;;;;;;;''++++##############++++########@@@@@@@@@@@@@@@######++##++++'''+'++++++''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;''''''''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################################################################################################################################++#++#++++++++++++++++++++++++++++++++++++++''''''++''''''''''''''''';;;;;';;;;;;;;;;;''++++################+###########@@@@@@@@@@@@@@@@######+++++++++''''''+++'''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################################################################################################################################++#######++#++++++#+#++++++++++++++++++++++++++++++++'''''+++''''''''''''''''';;'';';;;;;;;;;''++++#############################@@@@@@@@@@@@@@@@######+++++++++++''''''''''''''''';;;;;;;;;;;;;;;;;;;;;';;'''''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@##@#########################################################################################################################################+###++#+++++++++++++++++++++++++++++++++++'''''++''''''''''''''''''';;'';;;;;;;;;'+##++#################+#####+#####@@@@@@@@@@@@@@@@@#######+++++++++'''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;'''''''''++++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################################################################################################################################+#####++#+++#+++++++++++++++++++++++++++++++'+''++''''''''''''''''''';;;;;;;;;;;'+######################+############@@@@@@@@@@@@@@@@@@#######++++++++++''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;''''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@#######################################################################################################################################+#######+++#+++#+#+++++++++++++++++++++++''''+++''''''''''''''''''';;;;;;;;;'+#######################+###++#######@@@@@@@@@@@@@@@@@@#######++'++++++++''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;''''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@################################################################################################################################################+###+++++#++#++++++#++++++++++++''''+++'''''''''''''''''';';;;;;'''+###########################++########@@@@@@@@@@@@@@@@@@########+'''++++'''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;'';''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@###########################################################################################################################################+#########++#+++++#++#++#+++++++++++++'''++''''''''''''''''''';;;;;;''+##+#######################+++#########@@@@@@@@@@@@@@@@@@@########+'''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;'''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@###################################################################################################################################################+#######++++++++##++#+++'+'''+'++''''''''''''''''''''''''''++++#######################++#+########@@@@@@@@@@@@@@@@@@@@#########+''''''+'''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;';'''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@##@####################################################################################################################################################++####+##+##+#+#+#+''+'''+++'''''''''''''''''';''''''+++++######################+###+########@@@@@@@@@@@@@@@@@@@@#####+####+''''''''''''''''''''';''';;;;;;;;;;;;;;;;;;;;;'';''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@####@###@#######################################################################################################################################################+###+##+###+++''''''+++'''''''''''''''''''''''''++++++#################################@@@@@@@@@@@@@@@@@@@@@###++#####+''''''''''''''''''''''''';;'';;;;;;;;;;;;;;;;;;;'''''''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@##@@###########################################################################################################################################################+####++##++''+'''+++'''''''''';''''''';''''''+++''+++###############################@@@@@@@@@@@@@@@@@@@@@###+++#####+'''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;'''''''''+'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@####################################################################################################################################################################+##++'''''+++''''''''''''';''''''''''+'''''++++##################+###########@@@@@@@@@@@@@@@@@@@@@####+++#####+'''''''';''''''''''''''';;;;;;;;;;;;;;;;;;;;'''''''''++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@#@################################################################################################################################################################+++'+'''+++''''''''''''';'''''''''++''''''+++##########+++++++++##########@@@@@@@@@@@@@@@@@@@@@@####++++#####+'''';;;';;';''''''''''';;;;;;;;;;;;;;;';;;;;;;''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@##################################################################################################################################################################++'''''+++''''''''''''''''''''''+'+''''''+++++########++++++++###########@@@@@@@@@@@@@@@@@@@@@@@###+++++#####+'''';;';;;''''''''''';;;;;;;;;;;;;;;;';;;;;;'''''''''++#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@################################################################################################################################################################+++''''+++''''''''''''''''''''''++''''+''+++++#######+++++++++###########@@@@@@@@@@@@@@@@@@@@@@@#####++++#####++';;;;;;;;;;''''''''''';;;;;;;;;;;;'';;;;;;'''''''''+++@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@###@##########################################################################################################################################################++++'''''++'''''''''''''''''''''''++++'+'''''+++######+++++++++###########@@@@@@@@@@@@@@@@@@@@@@@####+++++#######+';;;;;;;;;;;'''''''';;;;;';''';;;;;';;;;;'''''''''+++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@#@############################################################################################################################################################+'++'''+'++''''';'''''''''''''''''+'+'++'''''+++######++++++++###########@@@@@@@@@@@@@@@@@@@@@@@@####+#+++++######+'';;;;;;;;;;;'''';;;';';;;;';;;;;;;;;;;''''''''''+++#@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@#@##@########################################################################################################################################################++++'+''+'++'''''''''''''''''''''''+++++'''''++++#######++++++###########@@@@@@@@@@@@@@@@@@@@@@@@@#####++++++######+'';;;;;;;;;;;';'''''';';;;;;;;;;';;;;;;'''''''''+++#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[ 此贴被csr99999在2007-10-31 21:35重新编辑 ]
级别: 精灵王
发帖
3563
金钱
2119
威望
8
贡献值
70

只看该作者 4 发表于: 2007-11-01
Re:黑白的世界```
  不是正规意义的图片 是用文字组合出来的抽象的图片,是不很清晰啊```

给你朦胧美````` 
级别: 禁止发言
发帖
3240
金钱
138
威望
24
贡献值
0
只看该作者 3 发表于: 2007-11-01
用户被禁言,该主题自动屏蔽!
级别: 精灵王
发帖
3563
金钱
2119
威望
8
贡献值
70

只看该作者 2 发表于: 2007-10-31
2fAlfa-R_8C_123_1000x625
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@#+'##+'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##########@@+;'++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########+';;''+;;++####+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##+++#####';'++';'+###@@#+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+###@###''+++++++#####+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++######+''++'++++'+###+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########++++'''''';'+###+#+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++######+'++';;;;;;'#+#+#'+@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+########++''';;';''+++##+'+###@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########++''''';;''++####++###+@###@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######+;;;''''''+++++#######+##############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####+'''''';;;'++'++#####+###########++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++++'+''+++'+'+################++++'+++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++++'+++##++++#################+++++#++###@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+++'+++'''+++#+#####################+###########@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+'+##++++'+'+######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++#+'+#####++++'######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'++;;'+######+################################################@#@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++;'+##########################################################@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++############################################################@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++######################################################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++#++#########################################################################@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#+++#########################################################################@#@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++#+++##############################################################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++#########+##################################################################@#@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++++++#++##+###+###################################################################@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++##+#++##+#+#+###################################################################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++++++#+++#++++++++#+#+####################################################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++#++++++++++++++#################################################################@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++#++++#+##+################################################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++##################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++++++++++++##############################################################@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++++++++++++##+##############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++++++++++++++++++++++++++++++++++++++++';;'####################+'''+##++++###+++########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++++++++';;+';;:;;;++#############+#+'';'''++#++''+++++##########################@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++'++++++++'+;::;'';;;;;'+++++++++++++++##+++++''''+#++#+++############################@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'++++++++++++++++++++'+++++++'';;;:;'+';;;:;';+++++++#+++++'+''+++++'++++++'''+++';''++####++#++#+##############@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++++';:;;;'++';:;';'+++''++++++++++'+++++';:;:::::;;;:;:;;;;;;'';;';;'##+##+##+'''+######@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'+++++++++++++++++++++++++++'';;'''''+++';;;;:;';:;'';'++++++++++'+';:;;;;;;;;;;;;''';;;;;;;;;;;'';;;;;;;;;;;;'+#####@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'+''''++++'+++++++++++++''+'''++++++++++;;;:;';:;;;;;++++++#+++++'';;;;''++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''++#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'''''''+''''++++++++++++'';''''++++++++++'''';;;'';;;;'++++++++++++'';;;''++++++''''''''';;''++++''''''''''';''''''+##++#@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''''''''''''''''++++++++''''++'+''++++++++++''''''''';+++++++++++++++';;'''+++#++++++++++++++++'++++++++++++++++';;;;'+#####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''''''''''''''''+++++''+''+'+'''++++++++++++'+''+++'++++++++++++++++++''''+++++++++'''++++##++#+#####++++++##++'''+++''+#@####@####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''''''''''''''''''''''+'+'''++++++++'++'+'''+'+++++++++++++++++++++++++++++++++'+++'+''''''+++######################++++++######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'''''''''''''''''''''''''''+'''++++''+++++++++++++++++++++++++++++++++++++++++++++'''';;;;;;''''++####################################@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++'''++++++++++'+''''''''''+++++++++#######++#+++#######+############@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++''''++++++++++++++'''++++++++++++++++++++++++''++####################@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++'+++++++++++++++++++++''+++++++++####+++++++'+++++#################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++'+++'+'+'''''++++';;'''+++++++++#############+++++++++############@@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''';''''''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++'++''';:;:::::;';:::;;;:;'+'''+++++###############++++'+++###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;;;;;;;;''''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++';:::::::;;;;;;;;;;;;;;;;;'''++++#####################+###############@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''+'+++++++++++++++++++++++++';;;;;;''''''';;;;;;''''''''+++########@##########@#####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@';;;;;;;;;;;;;;;;;:;;;'''''''''''''''''''''''''''+'+++++++++++++++++++++++'';'''''''+++''''''''''''++++########@@@@@###############################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;;;;;;;;;:.,,::,.,,.,.,;''''''''''''''''''''''''''''+++++'+++++++++++++++';;+++''''++++++++++#####+#######@@@@@@@@@@################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@';;;:;:::,...,,.,:,.,::,:;''''''''''''''''''''''''''''''+'''++++++++++++++++++++''''++++''++############@@@@@@@@@@@@@@@###++###########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:,.,..,,..,,.,:;::;,,,:;;;;'''''''''''''''''''''''''''''''+'''+++++++++++++++'+++'''''';;'+++####@@@@@@@@@@@@@@@@@@@@@@@##++++#########################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,,.,.,..,,,.,:;;::,,,:;;;;;;''''''''''''''''''''''''''''''''''++++'+++++++++++++'''''':;;;'''++##@@@@@@@@@@@@@@@@@@@@@@###++++###########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;,,..,,::,:,.,;;:::,,:;,,;;;;;;;;'''''''''''''''''''''''''''''''''''''+++'++++++++'''';;;;:;:;;'+###@@@@@@@@@@@@@@@@@@@@@####++#######################@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,,..,;;;;,::;;;;';::;:.,:;;;;;;;;;'''''''''''''''''''''''''''''''''''''+'''+++++++'';'';:;;;;'''++####@@@@@@@@@@@@@@@@@@@@@#############################@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;,,,:;'';;;;;:;;;;'';:,,;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''+'''+'++++';;;;;'''+++#####@@@@@@@@@@@@@@@@@###################################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::,,:''';;;:;''''';,:,::;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''''''''++++'+++';;;;;'''+++######@@@@@@@@@@@@@@@@###+################################@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::,:::::::;;;'++;;::;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''+'''''''''''''''++++#######@##@#@@@@@@@@@@##+#####+#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::,,,,,,,,:;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''+++++++++++++++++########@#@@@@@@#########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@':::::::::::,,,,::::;;:;;:;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''+++'+++++++++++''''''+++++##@@@@@@@#@@###++####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::::::::::::::::::::;:;:;:;;;:;;;;;;;;;;;;;;;;;;;;;'';'';'''''''''''''''''''''''''''''+++'+++++++''''''''''+#####@@@@@@@@##+++#################################@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''++++++++++++'';;;''+#####@@@@@@@@###+''''+###################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''++++++++++'';;'''+++####@@@@#@#####+++#################################@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''+++++++++''''''''''++###############+'+#################################@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#;:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''+''+'+++++++++++;;'''''+++++###+#####+++####################################@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,.,,:,::::::::::::::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''+''+++++++++++''+''++++++++##+###++++####################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;.`...,.,::::::::::::::::::::::::::::::::::;;;:;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''+++++++++++++++''++++++++++####+++#######################################@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+',,....,,...,:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''+++++++++++++++++++++++++++#+############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;;;;;::,..::,:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''+'+'+++++++++++++++++++++++++++#+########################################@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''''';''''';,..::::::,,:::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;';''''''''''''''''''''''''''+++++++++++++++++++++++++++++++#########################################@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'''+'''+';''';:,,::,,:,,:::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''++++++++++++++++++++++++++++#####################################@######@#@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'+''+'''+'';::+;,.,,,,,,,,,:,,::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''++++++++++++++++++++++++++++###########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'++'++++++''''''':.,,,,,,,,,,,,,,,:::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''+'+'++++++++++++++++';'+++++++#+#############################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+''+'+++++''++''''':,.,,,,,,,,,,,,,,:,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''+'+++++++++++++++'++++++'+#++############################################@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''+'''+'''''+'++''''';,.,,,,,,,,,,,,,,,,:::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''+++++++++++++++++'''''++#++#############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##'+''''''''''''+''''''':..,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''++++++++++++++++++'''+++++++##############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''''''''''''''''''''''';,.,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'';'''''''''''''''''''''++++++++++'+++++++++++++++++++++##########################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''''::;'''''''''''''''''''':..,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''++++++++++++++++++++++++++++++##########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##'''';;:,;''''''''''''''''''':.,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''++++++++++++++++++++++++++++###########################################@@##@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+';;''''';::;;'''''''''''''''':...,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''+++++++++++++++++++++++++++++###########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::;;:.``,''''''''''''''';;:....,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''++++++++++++++++++++++++++++#############################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:`...:;;;:,::,.:;''''''''''''';;:,.,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''+++++++++++++++++++++++++++#++##########################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',...::::,,::,.,,:;;;;;;;'''''';;:..,.,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''+++++++++++++++++++++++++++##+######################################@#@##@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,:,,::::::,.....,:;;;:;''''';;:;,.......,,,,,,.,,,,,,,,,,,,,,,,,:,:,:::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''++++++++++++++++++++++++++#+##+#########################################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+::::::::,...,...,:::;:,;;;;::;;;::...........,....,,,,,,,,,,,,,,,,,.....,::,,,,::::::::::;:;;;;;;;;;;;;;;;;;;;;''''''''''''''''''+++++++++++++++++++++++++++#+##############################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+::::::......:,::,,:::::,....,:::;:............,.,,,,,,,,,,,,,,,,.`.....`.....,..,:,,:::::::;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''+++++++++++++++++++++++++############################################@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:::::::,,,,,.``,:::::.............,...............,,,,,,,,,,,..,...,,,,,::::,.......,,::::::;:;;;;;;;;;;;;;;;;;;;;'''''''''''''''''+'++++++++++++++++++++++++++++##########################################@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;,::::::::::,,,:::::,,...........`................,.,,,.....,,.....:;:;;:,,.,:;;;';';,,:::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''++++++++++++++++++++++++++++++#########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,:::::::::,,,,,,,,,..................`...............,,,..,,......,;;'''';;'++'++'''';....::::::;:;;;;;;;;;;;;;;;;;;;';''''''''''''''+++'++++++++++++++++++++++++++###########################################@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;::::::::::::,,,,........................................,.......:;;'''+++++++''''++'':,,,...:::::;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''++++++++++++++++++++++++#++############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;:::::::::::,,,,``.......................`.................,.....,:;''++++++++++++++++''''';:,::::;:;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''++++++++++++++++++++++++++#+###########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#::::::::::::::,.`.........................```````````.......,.,..,;;'''++++++++++++++++''''';:,,,,...,:;;;;;;;;;;;;;;;;;;;'''''''''''''''''+++++++++++++++++++++++++++############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'::::::::::::::.`````.`.....``..............`.```.....``..........,:;'''+++++++++++++++++++';:;;''';;;;:::;;;;;;;;;;;;;;;;;;''''''''''''''''''+++++++++++++++++++++++++++#########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:,,:::::::::::,,.```````..`.`..`..................................,:;;'++++++++++++++++++'''+''''''''';:,,:;,.,,;;;;;;;;;;;;;;'''''''''''''''''''++++++++++++++++++++++++++#######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;`.,,,,::::::::::,.`````````````.``````.`..........................,:;'''++++++++++++++++++++++++++++++,.,.,,:;;;,,:;;;;;;;;;;'''''''''''''''''''+++++++++++++++++++++++++++##########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##....,:::::::::::,.```````````````````````.........................,:;'''++++++++++++++++++++++'';'++',:''''';';;;;:;;;;;;;;;;;;;'''''''''''''''''+++++++++++++++++++++++++++############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'```...,,::,,,:::,......`.``````````..````.`.....................`..,;'''+'++++++++++++++++++'';;;:'++++++++'''''+';;;;;;;;;;;;;;;''''''''''''''''''+++++++++++++++++++++++++++##########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+;;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@':`````..,....,,,,...````````.`````.,`````````......................,;''''+++++++++++++++++++++++++++++++++++++++++':;;;;;;;;;;;;;;;;''''''''''''''''''++++++++++++++++++++++++++#######################################@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;......,,,,,,,,..........`..,....`.,..````````.``.`...............`.:;'''''+++++++++++++++++++++++++++++++';;'+++++:,,:;;;;;;;;;;;;;;'''''''''''''''''+'++++++++++++++++++++++++++##########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'.,,,,,,,,,,,,,.````.,,.`,,,::::,,,,,,,,,...````.`````````.......`..,;::;'''++++++++++++++++++++++++++++++'++++++++++:,::;;;;;;;;;;;;;;;''''''''''''''''''''++++++++++++++++++++++++########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:,,,,,,,,,,,,,.`....,,,,,,:::,:,,:::,,,,,,.```..`````````````.`````.:.::;'''''+++++++++++++++++++++++++#++++++++++++++':,:;;;;;;;;;;;;;;;'''''''''''''''''++++++++++++++++++++++++#+++########################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;,,,,,,,,,,,.,..`````..,,,,,,,,,,:::,,,,,..`.,,,,.````...````````.```.,:.,:;'''''++++++++++++++++++++++++######+#++++++':;;;;;;;;;;;;;;;;;'''''''''''''''''''++++++++++++++++++++++++++##########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@#@#@@@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#@#++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@',,,,,,,,,,,,,.....`..``...,,,,,,,,,..,....,,,,,,..``````````````````......,:::''''++++++++++++++++++++++######+#++++++';';:;;;;;;;;;;;;;;;;''''''''''''''''''++++++++++++++++++++++++++#++######################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::###@@@@##@#@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+,,,,,,,,,,,,,..........````.......`..,,,,,,,,,,,,,..``..```...```.,,,.,,,....,;''''+''+++++++++++++++++++++#++###+++++++++';;;;;;;;;;;;;;;;;;''''''''''''''''''+++++++++++++++++++++++++#++##################################@##@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+,,,,,,,,,,.,........,,.`````..``````..,,,,,,,,,,,,,,...```.....`.,,,,,,,,,.,,.,:''''''+'+++++++++++++++++++++#+++++++++++++':;:;;;;;;;;;;;;;;;;'''''''''''''''''''+++++++++++++++++++++++++++####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@###############@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,,,,,,,,,,,,,,,,..,,,,,,.`````..```...,.,,,.,,,,,,,......,,,,,.,,,,,,,,,......;;;''''''++++++++++++++++++++++++++++++++++++':::;:;;;;;;;;;;;;;;;;'''''''''''''''''''+++++++++++++++++++++++++++###################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@##@####@################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:,,,,,,,,,,,,,,.,..,,,,,.........```.......,,,,,,,.```..,,,,,,,,,,,,,,,....,.,:;;;'''''''''+++++++++++++++++++++++++++++++++''::::;:;;;;;;;;;;;;;;;;'''''''''''''''''''++++++++++++++++++++++++##################################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@##@#@@@################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:;,,,,,,,,,,,..,.,.,,,,,,,.....`..`````````.,,,,..````..,,,,,,.,,,,,,.,:,,,.....,:;,,;;;'''''++++++++++++++++++++++++++++++++++';,::;:;;;;;;;;;;;;;;;;;'''''''''''''''''++++++++++++++++++++++++++#++#+################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@#@@@#@################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;,,,,.,....,.......,,,,,,......`.`````````...,.........,,,,.,,,,,,,:::,,,,,,,,.......,,;''''''+++++++++++++++++++++++++++++++++'';::::::;;;;;;;;;;;;;;;';'''''''''''''''''+++++++++++++++++++++++++++####################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@#################@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,,,.,..,..............,,,........```````````........,,,,,,,,,,,,,,:::,,,,,,,,,,......`.,;;''''''++++++++++++++++++++++++++++++++'''':::::::;;;;;;;;;;;;;;;;''''''''''''''''++++++++++++++++++++++++++#++#+++###############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@##@###########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'..,.,...................,,,,.....```.````````.....,,,,,,,,,,,,,,,,,:,,,,,,,,,,.,,...``.::;;''''''''+++++++++++++++++++++++++++++++'';:::::::;;;;;;;;;;;;;;;;;''''''''''''''''''++++++++++++++++++++'';;;;'+++#++++++######################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@########################@@@@@@###@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;.......................,,,..........``````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,.......``.,:;;;;'''''''+'+++++++++++++++++++++++++++++++';,,:::::::;;;;;;;;;;;;;;;';'''''''''''''''''++++'''+++++'''';;;;';;'+++'''+++++++#################@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@#@########################@@@@@###@@###@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,.......................,...........``````....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....````..,::;;''''''''+'+++++++++++++++++++++++++++++++'':::,::::::,..,,,:;;;;;;;';'''''''''''''''';';;;;'+''';;;::;''''''''';;;'''+++++++####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::########@@@@@@@@@@#@@@#@############################@###@@@##################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#.....................................````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.,,,`````....,,::;;''''''''''+++++++++++++++++++++++++++++++';;;:,,:..:;;;;:,,::;;;;;;::;''''''':::;;;;;;;'''''';;;;;'''''''''';;'++++++++++#######################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#######@####@@@@@@@@####################################@@@@#####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,......................................```........,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..```..,,,,:::;;;;''''''''''+++++++++++++++++++++++++++++++';::;''::;'';;;;'';::,,,:;;'''';:,,;;;;;;''''''';;;;'''++++++++''''++++++++++++#+######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@####@###@####@@@@@@#@####@###############################@#@######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:.......................................`````.......,,,,,,,,,,,,,,,,,,,,,,,,,,,..```.,,,,:,:::;;;;''''''''''''''++++++++++++++++++++++++++''';:::''::,.,:;;;,,,,::;::;;;:,,:::::;;;''+++';;;;'++++++#++'''''++++++'++++++++#######################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@########@####@@@@#####@@@############################@####@@@###################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@..........................................`````.....,,,,,,,,,,,,,,,,,,,,,,,,,,,..````...,.,,,::;;;;;;;'''''''''''''+++'++++++++++++++++++++''''''''';:,,,:,,,::::;:::,,,,:,,,:;;;;;;;++';;;;'++++###+''+++++''++'++++++#+###########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#@@@@@##@###@##@#@@@#####@@##@############################@@@@@####@@##################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...........................................````...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.``````...,,,,,,,,,:;;'''''''''''''''''''+++++++++++++++++++''++''':,,::;:,::;:::::::;;::,,,:;:::;;;:;'''''++++++##++++######+''+####+#+++##########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::###############@###@@@@####@#@#@@############################@@@######@@##################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+..............................,,,,,,,,,,,,,.`.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.````...,,,,.,,,,:::;;;;;';'''''''''''''''''++++++++++++++++++++''';;;;;'''::::::::;;;:,,::::::;;;;;;;;''''+++++++###########++#####++++###############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#@@@@#####+'+#####@@@@@#@########@@######################################@@@###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`````.,,,,,,,,,,,,::;;;;;;;;;;''''''''''''''+''''+++++++++++++++'''''''++'::;;,,,,:;::,::;;;;''''''''';;;;''+++#####################++++#++++#########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#####@@@####+';;+###@@@@@###################################################@@###############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'...............................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,````..,,,,,,:::::::;;;;;;;;;;;';;;;''''''''''''''''+''++++++++++++++++';;:,,,,::::;:;;'''++++'++++';;;;''+++++++++++##+++######+#######+''++++++++####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::############@@##+':;'####@@@@##@#############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,.................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.```...,,,::::::::::::,::::::::::;;;;::;;''''''''''''''+''+++++++'+++++',,,,::;:;';;;'''++++++'+++';;;'''+++++''''''''''+++++++++++++##++';'''+++++####################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::##############@#@##+'''''####@@@@#############@@################+##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.......................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.....,,,,,,:::::::::::::::::,:::::;:::;;;;;;;;;;;'''''''''+++++++++++++';;;;;+@###'''''++++++++++++'''+++++++'''''''+++''''+++++++++++++++'+@@@@@++#######################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#####@##@########@@@####++'''+####@@@@############################++###################@@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.........................................,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,...,,,,,,,,,::::::::::;:::;;;;;;;;;;;;;;:,,::;;;;'''''''''''++++++++++''+######@''''++++++++++++++++++++#++++++''+++++#+';''''+++++++++@@@@@@@#+++++######################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::######@#####@@#####@@@@@@@@@##+;;'+###@@@##################################################@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.............................................,,,,,,,,,,,,,,,,,,,,,,,,........,,,,,,,,....`.,,,,,,:::::::::::;:;;;;;;;;;;;;;;::,,.,,:;;:;'''''''''''+++++#############++++++++++++++++++++++#++++'+++''+++####+++''++++'+@@@@@@@@@@@@###++#######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#############@#@##@##@@@@@@@@@@@@#+;;'++###@@#############################++++#######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...............................................,,,,,,,,,,,,,,,,,,,,,,..........,,,.......``..,,,,::::::::::::::::;;;;;;;;;;:,:,,,::;:,,,:::;''''''''''+##########@##@++++++++++++++++#+#++##+++';;;;;;;'++###########@@@@@@@@@@@@@@@@#@#######################@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::##############@###@@@@@@@@@@@@@@@@@@@@#+;;;++#################################++########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:``..............................................,,.,,,,,,,,,,,,,,,,,,,,...............````````....,,:,:::::::::::;;;;;;;;;:::::::::::,,,,...,:;;;;+#################@#++++++++++++++++#+######+;;;'''';'''+++####@@@@@@@@@@@@@@@@@@################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::############@##@@@@@@@@@@@@@@@@@@@@@@@@@@@#+';;;++##############################+++####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,``.....................................................,.,,,,,,,,,,,,,,.............````.````.````..,,:::::::::::;;;;;;;;;;;::::::::,,.....,,,,'#################@##@#++++++++++++++#++#####++@##+@@@@@@@#+'+#@@@@@@@@@@@@@@@@@@@@@################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@######@#########@@@@@#@@@@@@@#+#@@@@@@@@@@@@@@+';;;'+################@############+++####################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@....``.....................................................,,,.,,,,,,,,,...................``...```....,::::::::;::;;::;;;:::::::::::::,,:'##########################@#+++++++++##+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::##@#############@#@@@@@@@@@@@@@@@+++#@@@@@@@@@@@@@@#';:;;'+############################++################@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@###@@@@@@@@@@@@@@`..`.`....`````.....`.........................................,,,..,,,,,,......................````.,,,,,,,:::::,,,:::;::'+++++#######################################@''+++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@####@############@##@@@@###@@@@@@@@@###@@@@@@@@@@@@@@@#+';:;;'+######################+';;;'+#@@#@@########@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@+`...`.`````````.....``..............................................,,,,,,.....................``...,,,,,,::,,,..,,:;+++++#+++###################################@#@###'''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#####@@#######################@#@@@@@@@@@####@@@@@@@@@@@@@@@#';::;'+#############;,....,....``  `:+@@@##@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@#@@@@@@@@#@@@@@@@@@@@:`.`....``````..``..````.............................................,..,,,,,.,,.........````..`......``..,,,..``:'++++++++#+++######+#+############################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@#######################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@###@#######################+###@@@@@@@@@@####@@@@@@@@@@@@@@@#+;;::;'++#####+#+::::::::::::,,,..` .;#@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@#@@@#@#@@@@#+++'';;;;'```......`.`....`.`````..```.......................................,...,,,,,,,,,,,,:::::::::::::::,..`````...;'++++++++++++++++++#++##+############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@@@##################@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@###########################+++#@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@#+';:::;#:;'';++;;;;;;;;;;;::::,,,.` `;#@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@#;.`      ````..,:::,.`   ```...``````.````.``......................................,,,,,,,,,,,,:::::,,:::::::::::::::,.`,,:''+'+++++++++++++++++#++++########################@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@########################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@#########################++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####,:';'::;;+''''''';;;;;;;;:::,,,.` .'@@@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@+,    `````````............,;;;,`   ```.`````..`````..............................,,,,,,,,,,,,,:,,,::;;;;::::::::::::::::::;'''''++++++++++++++++++++++++##############################@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@@@@@###########################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@#########################@####@@@@@@@@@@@@@@@@@@@@@@@@@@@#'.';';'':`;;'''''''''''';;;;;;::::,,..``;#@@#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#:   ``````````.....................,;'',``  ```..``..`````..........................,,.,,,,,,,,,:::;::::;:;:;;;;::::::;;;;;'''''''''++++++++++++++++++++++++++#############################@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@########@@@@###############@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@##@@#########+##########@@##@@@##@@@@@@@@@@@@@@@@@@@@@@@#::+:'';;;:.;;''''''''''''';;;;;;;;::::,,..``,#@#########@@@@@@@@@@@@@@,`.,:@@@@@@@@@@@@@@+.  ````````...................,,,,,,,,,,,,,:'':.`` ``.....`...............................,,,,,,,::::::::::::::;;;;;;;;;;;;''''''''''''+++++++++++++++++++++++++++################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+##############@@@@@@@@@@@@@@@#@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@#@@@@@@@@@@@####@#######+'''+#########@@@@@@@@@@@@@@@@@@@@@@@@@@@+::+:'+';';;:;;;+++''''''''''';;;;;;;::::,,,,..` .+@@#############@@@@@`:'++++@@@@@@@@@@+.  ```````............,,,,,,,,,,,,,,,,,,,,,,,,,,,,:+',``````.............................,,,,,.,,,,:::::::::::::::::;;;;;;;;;;'''''''''''''+++++++++++++++++++++++++++++##############################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++##++####@@@@@@@@@@@@@@@@@@@@@@@###########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@#############+';;:;'+#####@@@@@@@@@@@@@@@@@@@@@@@@@@+::++:+'''';;:;;:+'+'''''''''';;;;;;;;:::::,,,,,...` .'@#############@@.;'+####+@@@@@@#.   ``````...........,,,,,,,,,,,,,,,:::::::,,,,,,::,,,,::'+:..`` ``............................,.,,,,,::::::::::::::::::;;;;;;;;';'''''''''''''''++++++++++++++++++++++++++++################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#+###@@@@@@##@@@@@@#####@@######+';;:::;'+####@@@@@@@@@@@@@@@@@@@@@@#:;++''';;;;';;',;+''''''''';;;;;;:::::,,,,,,......````  `'##############'+#####+@@@@:   ```````..........,,,,,,,,,,,,,,:::::::::::::::::::::::,,,::'+:...````..........................,,,,,::::::::::::::::::;;;;;;;;;;;;;''''''''''''''++'+++++++++++++++++++++++++###++################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#@@###@@@@@@@@###@@@@####@@@#####++';:::::::'#####@@@@@@@@@@@@@@@@@+:;++#+';::'+'''+:+''''''';;;:::::,,,....```.````...,,,:::;''+##########@#####++##@+`    ``````..........,,,,,,,,,,,,,::,::::::::::::::::::::::::::::::;'+:...````...................,,,,,,,,,,:::::::::::::::;;;:;;;;;;;;;;;;;''''''''''''''''''+++++++++++++++++++++++++###++##########################@##@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@####@@@@@@#@@####@@@@@@@@@@@@@@@@@:::
::::#@#####@@@@@@@@###@@@@@@##########+';:::::,,:::;+#####@@@@@@@@@@@#+,;+###''';';''+;;'''''';;;:::,,,,....``..`                       `.:;'+##+#######+'`  ``````..........,,,,,,,,,,,,::::,::::::::::::::::::::::::::::::::::;;+',,..`` `..............,,,,,,,,,,,,::::::::::::;:::;:;;;;;;;;;;;;;;;;'''''''''''''''''+++++++++++++++++++++++++++++#############################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@@@@########@@@@@@@@@@@@@@@@:::
::::;:;#@@###@@@@@@@@@@@@@@@@###########+;;:::,,,,,,:::'+#####@@@@@@#+:`:+#+#+''';';';''''';;:::,,,,.....``..                                  ``.:++:```   .``````.......,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::::::::;'+:,,...```...........,,,,,,,,,,,,,:::::::::::::::;::;:::;;;;;;;;;;;;'''''''''''''''''''++++++++++++++++++++++++++++################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@##@@@@@@@@@@@@@@@@@@@@:::
::::'':::+@@####@@@@@##@@@@@@@@###@@#####++';::,,,,,,,,,,:''+#####@#+'` ++###+;'''';'''';;;::,,,,.......,,   ` ```````````````````````               `.::`  `:'++'';::,,,,,,,,,,,,,::::::::::::::::::::::;;;::;:;;::;::::::::::::::::;'+'::,..```.........,,,,,,,,,,,,,::::::::::::::::::::;;;;;;;;;;;;;;;'''''''''''''''''''''++++++++++++++++++++++++++++################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.,;#+'+#@@@#'##@@@@@@@@@@@@@@###########+';::,,,,,,,,,,,:;'+###++'` ''';++';';''';;;:::,,,,.......,. ```````````````````````````````````               ```  `,'''+##@@#+#;'',::::::::::::::::::::::;;;;;;;;;;;;::::::::::::::::::::;'+'::,,..```,.,,,.,,,,,,,,,,,,:::,:::::::::::::::::::;:;;;;;;;;;;;;;;;;'''''''''''''''''''+++++++++++++++++++++++++++#################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.....++++###@@###@@@@@@##@@@@@@@##########';;::,,,,,,,,,,,::;'+#+': ;'+#,,:;'';;;:::,,,,,,.,....:. ``````....................`````````````````             `.` `.,+@@###@@#+++:::::::::::;:::::::::;;;;;;;;;;;;:;::::::::::::::::::::;'++;::,,..``.,,,,,,,,,,,,,,,,,,:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;''''''''''''''''''+'+++++++++++++++++++++++++++++############################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::,.,...:+@#@#@@####@@@@@@@@@@@@@@@@########'';:::,,,,,,,,,,,,:+##+;;';+++;';;::::,,,,,,,,,,,,.,. ```.................................```````````````          .:,```.;';''+#@##@;::::::::::;;;::;;;;;;;;;;;;;;;;;;;:;:;::::::::::::::::;'#';;::,,.``.,.,,,,,,,,,,,,,:::::::::,:::::::::::::;:;;;;;;;;;;;;;;;;;;''''''''''''''''''''+'+++++++++++++++++++++++++++++###########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.,,,,,,...'#@##@@@+##@@@@@@@@@@@@@@@@@######++';:,,,,,,,,,,,,++#@##;+++';;;::,,,,,,,,,,,,,,,.:```.........,,,,,,,,,,,,,,,,,,................`````````````        .';.`..,'#+++#@###;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;++';;::,,.``,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::;:;;;;;:;;;;;;;;;;;;''''''''''''''''''''+''++++++++++++++++++++++++++##+############################@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::::,,,,,..,,..+@+#@@@###@@@@@@@@@@@@@@@@@@#@###+';;:,,,,,,,,,:'+#@#+++';::::,,,,,,,,,,,,,,,,,```.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,.............```````````      .;',.,..:'+++####':::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::'+'';;:::,.``,,,,,,,,,,,,,::::,:,:,:::::::::::::::::::::;;;:;;;;;;;;;;;;;''''''''''''''''''''''++++++++++++++++++++++++++++################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::..,:::,,,,,....,+###@##+#@@@@@@@#@@@@#@@@@@@@###+'';::,,,,,,#+:,@#+'::::,,,,,,,,,,,,,,,,,,:``...,,,,,,,,,,,::::::::::::::::::,,,,,,,,,,,,,,,,,..........```````````    .:;;,`..,;+++###+:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::'+'';;;;::,.`.,,,,,,,,,,,,,,:,,:,::::::::::::::::::::::::::;;;;;;;;;;;;;;;;'''''''''''''''''''''''++++++++++++++++++++++++++##################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.....,,:,,,.,...,.;#@@@@#+#@@@@@@@@@@@@@@#@@@@@##++'';::::,;';`,+;:::,,,,,,,,,,,,,,,,,,:.,`...,,,,,::::::::::::::::::::::::::::::::::::::,,,,,,,,,,,,.........```````` `  `,'+;...,:'++##';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::::::::;'+'';;;;::,,.`,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''++++++++++++++++++++++++++##################################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.........,,,...,.....;#@@##+#####@@@@@@@@@@@@@#@@#++'';;:::#;' ;::,,,,,,,,,,,,,,,,,,,::,.`..,,,::::::::::::::::::::::::::::::::::::::::::::::::::,,,,,,,,,,........```````````.:'':..,:;+++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;:::::::;++''';;;;::::.`,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;'';''''''''''''''''''++++++++++++++++++++++++++++###############################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.............,,...,...`,+@@@@#+++##@#@@@@@@@@@@##@###+';;:+#+',,,,,,,,,,,,,,,,,,,,,,,:,,,:''':::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::,,,,,,,,,......`````````.,;'':..,:'++';;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::'+++''';;,`..`,,`.:,,,,,,,,,,,,,,:::::::::,::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''+++++++++++++++++++++++++################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::................,,...,..,.,+@@@##+###@@@#@@@@@@@######+';;####,,,,,,,,,,,,::::,,,,,::,`.,,::::'+':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::,,,,,,,......```````.,,::,,,,:;#@#+###++';;;;;;;;;;;;;;;;;;;;;;;;;;;:;::::::++++''';,.''+#'.,.`:,,,,,,,,,,,,,,,::::,,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''+++'+++++++++++++++++++++##++##+#####################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.....,..................,...`;@@@#@###@@@@@@#@##########++####,,,,,,,,,,,,,,,,,:::,,:`.,::::;;;;;;+';;;;;;;;;;'''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;::::::::::,,,,,......`````.,:::;:,,,;#######@@#++;;;;;;;;;;;;;;;;;;;;::::::::;;++++''':.::::,:#'`,`,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''+'''+++++++++++++++++++++++#++##########################@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,.........,............,,..,....;@@@#++#@@@@@@@@########+#####,,,,,,,,,,,,,,:,,,,,::``::;;;;;;;;''''++;'''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;:::::::,,,,,......```.,:::;;:,,;#@@@@###@#+';;;;;;;;;;;;;;;;;:::::::::'++++'';.::::::,,;#,,`,,,,,,,,,,,,,,,,,,,,:,,::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''+++'+++++++++++++++++++++++#########################@@@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,,,........,.........,..,,,,.,,..+@#++;+#@@@@@@@@#@#########+:,,,,,,,,,,:,,,,,,,:,`,;;;;';'''''''''''#'''''''''++++++++++++++++++++++++++++++++++'''''''''''''''';';;;;;;;:::::,,,,,,....```,,::;'',,:+#@@@###@#';;;;;;;;;;;:;;::::::::::+++++'':.::::::,,,,#'``,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;';;''''''''''''''''''''''+++++++++++++++++++++++++++#############################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.,,,..,....,,.................,,.,,.`,##+#+##@@@@@@@@##############':,,:::,,,,,,,,:`.''''''''''''''''++'+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''';;;;;;;::::,,,,....``.,:;;+#;,:+#@##@#+##';;;;;;;;;:;;;::::::;;+++++';.::::::::,,,,##``,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''++++++++++++++++++++++++++++###########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.....,,,,,,..................,,.,,,,,,..;#@@####@@@@@@@###@;::,,,;+@###+;,,:,,,,,,,+####@###++++++++++++++##+++++++++#+++#+##############################+++#+++++++++++++++++''''''';;:::,,,,,,,..`.,::'##',:+@@##@###+;;;;;;;::;;:::::::+++++'':.::::::::,,,,,+#.`,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''+'''++++++++++++++++++++++++++#########################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.........,,,,,.......,..........,,.,,,,,,..;@#++##@@@@@###;@@@@@+;:..:+@#@#':,,,,,:@:;::;+'#'##++++++++++++#########################################################+#++++++++';,.``````......`````..,:,,:;'+@+,:+#######+;;;;;;;;;::::::;+++++'',::::::::::,,,,,'#.`,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::;::;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''++++++++++++++++++++++#++#+#####################@####@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,......,.....,,,,,........,....,...,,.,,,,,,..;+++###@#+#;;'@@@@@@@@#;,..;##@##;,:#'#@@@+++;#;@@##++++###################################+'';;;:::::::::,,,,,,.....:;'''++':,,,::::;';::::;'''''''''';;;::::;;;+#+,:+@##@##+;;;;:;;::::::'+#+++';.::::::::::,,,,,,+#.`,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''++++++++++++++++++++++++############################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::...,.............,.,.......................,,,,..;#####++.;:;@@@@@@@@@@@+:,.,+#@@#@:@@@@#.;''+:#@###############################++'''''''''';;;;;;;;;;;;:::,,,..`.;++':.``.....,,,,..`.++++++++++++''''';;;:::,,:;'+'::+@@@##';;;;:;:::::++#+++',,::::::::::,,,,,,,+#.`,,,,,,.,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::;:;:;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''+'+++++++++++++++++++++####++##+####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::..............................,,......,,.,,,...,,,.,'#++,#+#;@@@@@@@@@@@@@@#;,.,'##+@@@#+#++#+';:#@@#######################++'''''''''''''''''''''';;;;;;::,,.``:;,,,..,,,,,...,,, ``.`####+++++++++++''''';;;;::,,,:'';::#@@#+;;;;:::::;##+++';.::::::::::::,,,,,,.##``.,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''+'+''''+++++++++++++++++++++++##++#####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::.,..........,................,,,..,,.....,,.,....,,,,.++:+@#+#@@@@@@@@@@@@@@@@@',#;@@@@#'';##;@@@;;@###########+######++++++++++++++++'+''''''''''''';;;::,,.,:,,:::,:::,:,.,,.,,::`,;:'########++++++++''''';;;;;::,,.:;';:;#@#;:::::::+##+++':+::::::::::::,,,,,,,,#+`.,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''+++++++++++++++++++#+++++#+#####+##############@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,..............,.........,,.........,..,....,..,,,.,,+;++#++#@@@@@@@@@@@@@@@@@@@@:@@@@+@,;+'#@@@@'#@#@@#######+##+++++++++++++++++++++++++++'''''''';;;::::;:::;;:;;;;;:;.::,,,:';:,;;+###########+++++++''''';;;;;:::,,.:;';:'#+;::::;###+++'.+::::::::::::,,,,,,,,'#.`,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;';''''''''''''''++++++++''++++++++++++++++++#+##+++##+####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::....,,.............,,........,,,,.....,,........,,,,,:#;++#+'@@@@@@@@@@@@@@@@@@@@@;@@@@@;##'#@@@@@'@@@@@##++###+++++++++++++++++++++++++++++++++'''''';;;;':;;;;;;;;''';':,;;::,;+';:''+############+++++++'''''';;;;;;:::,,,:'';:+#'::+###+++;;':::::::::;'+'':.,.,,.@+.`,,,,,,,,,,,,,,,,,,,,,,,,,,:::,::::::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;'''';;''''''''++++'+++'++'++++++++++++++++++++++########################@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::........,,.............,,.........,..,..,.,......,.,,;#'++#@,@@@@@@@@@@@@@@@@@@@@+#@@@@@@@@@@@@@@@#@@#######+##+##++#+++++++++++++++++++++++++++++''''';';;;'''':''':+''':;''++:;+;;'''##############+++++++''''''';;;;;:;:::,,:;'';;+#####++'.+'::::::;;'++###++:.,,,'@.`,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;';''''''''''''+++++''''+++++++++++++++++#+#+##########################@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,..........,,,............,,..,..........,,...,,..,..'@#'##;+@@@@@@@@@@@@@@@@@@@@'@@@@@@@@@@@@@@@'@@@@###############+++#++#++++++++++++++++++++++++'''+:'''''';:'''+;+'+;'++++'':;;'+'###############+++++++'''''''';;;;;;:::::,,;++':'##+++;:''::::::+'+#######+',,,,@:.`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;';;''''''''''''''''''''+++++++++++++++++++##+#############################@@##@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,............,,,..............,.............,..,,,.+#@'':+@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@##@##@@##################++#########++++#+++++++++++++#:''''+++'''''';'++;+#++'';;''+#+################+++++++'''''''';;;;;;;;::::,,;+++;;'+';+'':::::+;+#########++,,.#'...,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::::::::::::::::::::::::::::::::;:;;;;:;;;;;;;;;;;;;;''''''''''''''''''''++'''++++++++++++++++++++################################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::,,,,............,,...............,,.....,,,.......+##@@@@@@@@@@@@@@@@@@@@@@@@@;@@@@@@@@@@@@@@;@#@##@@@@##################++###########+#+++++++++++;''++++#+;+''''++#+';,;;''+'+'++##################++++++''''''''';;;;;;;;;:::::,,;++;:',.:+:::::############++;,.@',.`,,,,.,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''''''''''''''''''''++++++++++++++++++++++++++#################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,::,,,,,,,,............,................,,,..,,,,,,.,+###@@@@@@@@@@@#@@@@@@@@@@@@;@@@@@@@@@@@@@;@@##+;:;#@@@@################################+#+++++++'''+++++#'+++++####+''+:+''+'++###################+++++++'''''''';;;;;;;;;;;;::::,,,;;;:;:``,:::@######+++++'';,.#;:...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::::::::::::::::::;;;;;;;;:;;;;;;;''''''''';''''''''''''+''++++++++++++++++++++++++#+###############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::,:::,,,,,,,,.............,..............,,,,,,,..:##@@#@@@@@@@@@@@@#@@@@@@@@@@;@@@@@@@@@@@@#@@@@@@@#';,:#@@@##################################+++#'+';'+++###;+###@@@#';#:';+''#'####################+++++++'''''''';;;;;;;;;;;;;;:::::,,;;;,;'+++'@@@@@#########+,,+,:,,`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::,::::::::::::::;;;;;:::;;;;;;;';''''';;''';''''''''''''+++++++++++++++++++++++++++##+############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::::;;:::,:,,,,,,,,,,,..........,,...............,,,,,;##@@@##@@@@@@@##@##@@@@@@@@#'@@@@@@@@@@@@+@@@@@@@@@@#';::#@@@@#################################'+';:.;++'##+`: ,##@#''+''''+#'####################++++++''++'';;'';;;;;;;;;;;;;;;;:::::,,,'########@@@@########,,';.::,.`,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::::,,:::,:::::::::::;::::::::;;;;;;;;;';'';;;;;;''''';'''''''++++++++++++++++++++++++++++++#+#############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,::::::::,::::,,.,,,..,........,,,..............,,+##@@@@@##@#@@@@@@#@@#@@@@@@++@@@@@@@@@@@;@@@@#@#@@@@@@@@';,;#@@@###############################;'';,  :;':+++.; `####;'':'++;#######################+++#########+++';;;;;;;;;;;;;;;;;;;;::+##@#+;+###++@@@@##:,;':`;;::,.`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:,::::::::::,,,,,:,,:::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''+++++++++++++++++++++++++++++#++###########+###################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::,,,,,,,::;:::,:::,,,,..,,......,..,,,............##@@@@@@@@###+@##@@#@@@#@@@@++@@@@@@@@@@;@@@@@@@@@@@@@@@@@@#'::'@@@@############################'''++++,;:;'+'#;+:####+;'';''#####################+#++############++####+';;;;;;;;;;;+####+####+,:,,,::. `.,:;;;,``;;;;;:,.`.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''++++++++++++++++++++++++++++++##+#####+####################@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::::,,,,,,::::::::,,,,,,,,,,,,,.,..,.,,..,,.......,##@@@@@@@@@@###+@#@@#@@@@@@@'#@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@#;::+@@@@#################+#######++++###;''+++'#;#+##@##@'';######################+++###@@@@@@@@@###+++######+';;;;;;;#########',:,,,,,,,:::,.```,:;;;;;:::,,,.```,,,,,,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::;;;;;;;;;;;;;;;:;;;;;;;;';;;;;''''''''''''''++'++++++++++++++++++++++++++#+#+###++++###################@##@##@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::::::::,,,,,,,:::::::,,,,,,,,,,,,,,,,..,,,,.,,,,.'###@@@@@@@@@@@####@##@@#@@@@'#@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@+:,;#@@@########################++##@@'#,:'+##;+#######+'#####################+#++##@@@@@@@@@@@@###++##########+;::;#########::::::,,,:,,,,::::::;;:::::::;:::,,.`.,,,,,,,,,..,,,,,,,,,,,,,,,,,,,,,::::,,:,,,,,:,::::::::::::::::::::::::;;;;;;;;;;;::;;;;;;;;;;;;;;'''''''''''''''+'+'++++++++++++++++++++++++++++++###++##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::::::::::::,,,,,,,,:,:::,,,,,,,,,,,,,,...,,,,,,.;####@@@@@@@@@@@@@###+@#@@@#@@'#@@@@@@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@':,'@@#@#####################+++##@'#::`;##'`,:;'+';########################+###@@@@@@@@@@@@@@###+++##########@#':'######;:::::::::,,,:;,,,,,:::::::;;;;';';;;:,.,,,,....,....,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,:::::::::::::::::::::::::;;;;;;;;;::;:;;;;;;;;;;;;;''''''''''''''''''''++'+++++++++++++++++++++++++++++++#+##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::,,,,::::::::::::,,,,,,,,,:::,,,,,,,,,,,,,,,...,,:####@@@@@@@@@@@@@@@@###+@@@@@@'#@@@@@@@:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;,:#@@@@#################';;;;#@'#:'#+'#+'''+':#######################+#+##@@@@@@@@@@@@@@@@@##+++#############@#':;;:::::;::::::::::,,,,,,,,:::;;;'''''''';;:,`.,,,.,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:::::::::::::::::::::::::::::::::;;;::;:;;;::;;;;;;''''''''''''''''''''''+++'++++++++++++++++++++++++++++##++#+##########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::::,,,,,,::::,,::::,,,,,,,,,,:::,,,,,,,,,,,,,,.'###@@@@@@@@@@@@@@@@@@@@##+##@@'#@@@@@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:,'@@@@###############;:   ##+;;';+#+''#''###############+#+##+##+##+##@@@@@@@@@@@@@@@@@@@##+++#++##############'::::::::::::::::::::;;;;;;;;'''''''''';;;:,`,,,.,..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::;::;::::::::::;;;;;;;'''''''''''''''''''''''''+++'+++++++++++++++++++++++++++++++++##########################@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::;:::::::::::,,:::;::,:::::,,,,,,,,,,:::,,,,,,,,,,,#@@@@@@@@@@@@@@@@@@@@@@@@#@##@'#@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;,:#@@@##############:.  ##@':;++##''############+#####++##++#++++##@@@@@@@@@#@@@@@@@@@@@#++++:@#@##+############+:::::::::::::::::;;;;;;;;;;''''''''';;;:,`,,,,,.,....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,::::::::::::::::::::::::::::::::::::;:;:;;;;;;';''''''''''''''''''''''''''+''+++++++++++++++++++++++++++++++++#########################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::::::::::::::::::,,,::;:::::::::,,,,,,,,,::::,,,,,,:#;@@@@@@@@@@@@@@@@@@@@@@@@##@++@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@':,+@@@#############+;;'###++';+################+++++++++++++++##@@#####@@###@@@@@@@@@@#++++:@+@@#####+###########+:::::::,::::;;;;;;;;;;;'';''''''';;;::.,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::::::::::::::::,::::::::::::::::::::;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::;;::::::::::::::,,,:,:,,:;;::,::::::::,,,,,,::::,,,,+++@@@@@@@@@@@@@@@@@@@@@@@@@++@@@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+::'@@@@##############+##@@@##############++++++++++++++++++##@@@@######@####@@@@@@@@##+++:@+@@@@####'#############+::::::,:::::;;;;;;;;;+';#''''';;;;:,`,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:::::::::::::,::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''++'++++++++++++++++++++++++++++++##############################@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::;;';;::::::::::::::,,,,:,,,,::;:,,:::::,,,,,,,,,:::::@+#@@@@@@@@@@@@@@@@@@@@@@@#'@@@'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#;:#@@@@@######@@@@@@###@############++++++++++++++++++++##@@@@@#@@@@###@###@@@@@@@@#+++:@@@@@@@@#;#################+;::::::;;;;;;;;;;;';;#''''';;;;::..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::::::::::::,,::::,,:::::::::::::::::;;;;;;;;;;;;;;;;;;';';''''''''''''''''''''''''''''++''+++++++++++++++++++++++++#+#+#############################@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::;;;;::;;;;::::::::::::::::::,,:,,:::::,,:,:::,:,,,,,,,,;@+#@@@@@@@@@@@@@@@@@@@@@@;@@;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:;@@@@@@@@@@@@#@###@##########+#+#+++++++++++++++++++##;;;;;;'#@##@@######@@@@@@@#+++:@@@@@@@+:#####################+;::::::::;;;;;;;#+''';'';;;;;:,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::,,:,,,,:::::::,::::::::::;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''+++'+'++++++++++++++++++++++++++++#############################@@#@#@#@@@@@@@@@@@@@@@@@:::
::::;:::;;;::::;::::::::::::::::::::,,,,,,::::,,:::::::,::,,,'@+#@@@@@@@@@@@@@@@@@@@@:#;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:;@@@@@@@@@@@@####@###########++++++++++++++++++++++#;:::::::;;'###@######@@@@@@#+++:@@@@@@';#########################+;::::::,:;::;;;;'';;;;;;;;::.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::,,,,,,,,:,:,::::::,:,:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''+'+'++++++++++++++++++++++++++++++#++##############################@##@@@@@@@@@@@@@@@@:::
::::;;;;;::;;;;;;:::;;;::,,::::::::,,:::::,,,,,:::::::::::::::,'@+@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:.;.#@,+@@@@@@@@@@@##@@@#########+#+++++++++++++++++++++#'+#####';:::;;@#@@##@#@@@@@@##++;#@@@@;;#############################+;:::::::;;;;;;';;;;;;;;;:,,,,,,,,,,,,,,,,,,,,.,,.,,,,,,,,,,,,,,,,,,,,,,::,,,,:,:,::::,::,::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''++'+'++++++++++++++++++++++++++++#################################@@@@@@@@@@@@@@@:::
::::;;;:::::;;:::::;;::::;;::::::::::::,::::::,,,,,:::::::::::;;:'@##@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@,:@@#,@@,@@@@@@@@@@@@@@@########++##++++++++++++++++++++####@@@@@@@@#::;;+@####@#@@@@@##++:+@@+;'#################################+'::::;;;:;;';;;;;;;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,,,,,,::,:::,::,::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;'''''''''''''''''''''''''''''+'+''+++++++++++++++++++++++++++++################################@@@@@@@@@@@@@@:::
::::;;::;;;:::::;:::::::;:::::::::::::::::::,,::::,,,,,,:::;''+++++#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@+.#@@##:@+'#@@@@@@@@@##@#######++####++++++++++++'++++++####@@@@@@@@@@@+:;;;@#@####@@@@##++;;+;;+#######################+#++#########++;::;;;;;;;;;;';;;;;,.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,:,,,,::,:,,,,,:,:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''++'+++++++++++++++++++++++++++++++################################@#@@@@@@@@@@:::
::::;;;;;;;:;::::::::::::::;;:::::::::::::::::::::::::::::;+##@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@.;#@#+#.#@,@@@@@@@@@##@@@#####++#######++'''''''++++++++####@@@@@@@@@@@##;:;;@#@####@@@##++;;''##########################+#++++++#####++:;:;;;;;;;;'''';;;:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;'''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++#################################@@@@@@@@@@:::
::::;;;;;;;;;;;::::::::::::::::::::::::::;:::::::::::::::;+#@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@####@@@@@@@@@@@@@@@@@@@@@.+##++'.+@+#@@@@@@@@@@@@####++#########++++++++++++++++#####@@@@@@@@@@@###':;;@#####@@@@#+++;+##############################+#++++++++++:::;;;;;;;;''''';;:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++###################################@@@@@:::
:::::::;;;::;:::;;;::::::::::::::::::::::::::::::::::''';'#@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@#@@@@@@@@@:#@##+#,@@@'@@@@@@@@@@@@##@#############+++++++++++++'+#+#+####@@@@@@@@####':;'#@#@#@@@@#+######################################+##+++++;:::::';;;''''''';:.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:,,,:,::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++##############################@@#@@@@@:::
::::;;;::::::::::::::;;;:::::::::::::::::::::::::::;'#####@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@;;#@@#'+@@@+@@@@@@@@#####@#############++++#++++++++++##++++###@@@@@@@@#@@@@;;;##@@##@@##++###########################################+++++';:';;;'''''''';,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,,,,::,::::::::::;;;:;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'';'''''''''''''''''''''''''''''''+++++++++'+++++++++++++++++++++#+################################@##@:::
::::::::;:::::;:::::::::::;;;::::::::::::::::::::::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@####@@@@@@@@@@#;'@@#.@@@@@@@@@@@@@@@#@################++##+++++++++##+++++###@@@@@@@@#@@@@@::;@@@@#@@##+################################################+++++;;''''''''++'.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,:,,,,,,,:,,,,::::::::::::;;;::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''++'++'''''++++++++++++++++++++++#++##################################@:::
::::::::;::::;;::::::::::;;;:::;;;:::::::::::::::::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@+;:':@@@@@@@@@@@@@@@@#@@@@@################+++++++++##++++++##@@@@@@@###@@@#+;;+#@@##@######################################################++;;'''+++#####+:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,:::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++################################:::
::::;::::::::;::::::::;;;::::;;;::::;;::::::::::::;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##@@@@@@@##@@@@@@@@@@@@@@@@@#@@###################++'+++++####+'++++#@@@@@@####++#+#;;;@@@##@######################################################++;;''''+#@@@@@#+,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;::;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++################################:::
::::;;:::;;::::::;:::::;::;;;;:::::;:;:::::::::::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@######################+#######+'''++#@@@@@#++#'+++##+;;+@@@#@#######################################################';''''+#@@@@@@@#:,,,,,,,,,,,,,,,,,,,,,,,,,,::,,,,,,,,,,,,,,,,,,,,,:::::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';'''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++#++###########+################:::
:::::::;;;;::;;;::::::;::;;;:;;;;;;:::;;;;;;;::::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@###########################@##++';'''+#@@@++++'+++####:;'@@@#@########################################################;'''+@@@@@@@@@@;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;''''''''''''''''''''''''++++++++++++++++++++++++++++++++#++++++++++++++####################:::
::::;;;;:::;;;;::::;::::::::::;;;;;;;;;;:::;;;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@##########################@@@#++';;;''+#++'+''''++####';;@@@#######++++++############################################++;'+#@@###@@@@@+:,,,:,,,,,,,,,,,,,,,,:,,,,,,,,,::,,,,,,,,,,,,,::::::::::::::::::::;:;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;';;'''''''''''';;'''''''''''+++++++++++++++++++++++++++++++++++++#+++++++++#####################:::
::::;;;;;;;;;:::;;;;:::::::::::::;;;;;:;;;;;;;;;;;;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@####@#######################@@@+++';;;;:;;''''++'+++##@@+;;#@@@#########################+###############################+;'#@@###+#@@@@#,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::;:::;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'''''''''';;;''''''''''''+'+++++++++++++++++++++++++++++++++++#+####++####+###################:::
::::;;;;;;;;:;;;;;;;;;;;;::;;;;:::::;:::;;;::;;;;;;;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@#@@#####################@@@@#+''''';;::;;''+'++++#@@@#:;'@@@#+######################################################+++#@@#######@@@@,,::::,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''';''';;;;;';''''''''''''+++'+''+''++++++++++++++++++++++++++++++++++++++++##################:::
::::;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;:::;;:::;;;;;;;;'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################@@@@#+;;''+++';;;''''+++#@@@@@;;'@@@#########################################################+#@@###''###@@@@:,::::,:,,,,,,,,,,,:,,,,,,,,,,,::,,,,,,,,,:::::::::::::::::::::::::::::;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;'';;;;;;;'''''''''''''''''''+'''+'+++++++++++++++++++++++++++++++++++++++#+++###############:::
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@################@@@@@+;;+#+++'';'''''+++#@@@@@#;;'@@####################################+#######################@##';;;'@#@@@@+#::::,,:,,,,,,,,,,,,,,,::,,:::,,,,,,,:,::::::::::::::::::::::::::::::;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''+'''''+''+++++++++++++++++++++++++++++++++++++++##################:::
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################@;@@#+';+@#++++;;'++++++##@@@@@@';'@@###########################################################@@#;'#++;+#@@@###;++:;:,:,,,,,,,,,,,,:,:::::::,,,,,,::::::::::::::::::::::::::::::;:::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''+'++'++++++++++++++++++++++++++++++++++++++++++##++#++########:::
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################:#++';'#@@+++#';'''''++#@@@@@@#+;'@@##########################################################@@#++@++'';@@@@###++#'+';:,,,:,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::::::::::;:::::;;:;:;;;;;;:::::::::;;;;;;;;;;;;;;;:;;;;;;;;;;'';;''''''''''''''''''''''''''++++'+++++++++++++++++++++++++++++++##+++++++++#+############:::
::::;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##############++++''+#+'''+++;;''''+@@@@@@@@##;'@@##########################################################@@@:@#++'@;@#@@##++++##++'':,,:,,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;:::::;;;;;;;;;;;;;;;;;;::;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++#++++++++###############:::
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@##########++'''+#++#@@'++'';;''@@@@@@@@@@#;'@@#########################################################@@#;@@+++#@;##@@####++#++####::,::,,:,,,,,,,,,,::::::::::::::::::::::::::::::::::::::::;::;;;;;;;;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++++++##############:::
::::;;;;;;;;';;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@######@++++'''##++#@+@'+'';;''@@@@@@@@@##''@@#########################################################@@#'@@+++@@;+#@@########+#+##;+#;::::,,,,,,,,,,,,,,::::::::::::::::::::::::::::::::::::::;;;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''+'''++++++++++++++++++++++++++++++++++###+++++##############:::
::::;;;;;;;;;';;;'''''';;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##@#####+++'''+#@'#+#+#++'';;''#@@@@@@@@#+''@@##############################################+#########@@@'#@@++@@@;+@@@############+#+++#::::,,,,::,:::::::,::::::::::::::::::::::::::::::::::;,:::::::::::;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++###+++##############:::
::::;;;;;;;;;;;;;;;;;;''''''';;;;;;:;;;;;;;;;;;;;;;;;;;;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@++++;''++#;'''+#+++;;;;'+@@@@@@@@#+;'@@########################################################@@#'#@#'+@@#;+#@##############+#+##;:,:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;;''''''''''''''''''''''''''''''''''''''+'+++++++++++++++++++++++++++++++++++++##+++++++#++####+#:::
::::;;;;;;;;;;;';;;;;;;;;;;;;;'''';;;;;;;;;;;;;;;;;;'';;;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@####@#@@@@@@@@@@@@@@@@@@@@#@#@@#++''''++'++;++++@#+';;''++@@@@@@@#''+@@#@#########@###########################################@@@#+#@+;+@++;+@@################++++++;::::::::::::::::::::::::::::::::::,,,,,::::,:::::::::::::;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;';';''''''''''''''''''''''''''''''''''''+++'++++++++++++++++++++++++++++++++##++#++++++++#+#####:::
::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;';'';;;;;;;;;;;;;;;;;;;;;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@@@@@@@@@@@@@@++''+++'++'++;'+++'''';''+++#@@@##+''+@@#@#########@###########################################@@#++#@':+#++;+#@###+##################+;;::::::::::::::::::::::::::::::,::::::,:,:,::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''';''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++######:::
::::''''';;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''';;;;;;;;;;;;;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################@@@@@@@@@@@@@@@#+++++++'++#+##+++';;'''''++++++++++''#@@@###@###@#####@@@#####################################@@@#+++#::;+++;########++###############++#;;::::::::::::::::::::::::::::::,:,:::::::::::::::,::::::;:;;;;;;;;;;;;:;;;;;;;;';;;;;;'';''''';''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++#++#+#++++#+######:::
::::;;;;;'''';;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''';;;;;;;''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@@@@@@####+'+++''+###+';,.`,:;''++#######+'+@@@#@###@@@##@#@###@#####################################@@@#+++;;;;'++;#@##########################+'++;::::::::::::,,,,,,:,,,,,,,:::::,,::::::::,:::::::::::::;:;;:;;;;;:;;;;;;;;;;;;';;;;;''''''';';''''''''''''''''''''''''''''''''''+''+++++++++++++++++++++++++++++++++++++++++#++##+++++:::
::::''''''';';''''';;;;;;;;;;;;;;;;;;;';;;;;;;'''''';''';;;;'+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################@@@@@@@@@@@@###++####'''+'':,`   :'''++++######+'+@@@#@@##@@@#@@@#@@@########@############################@@@@+++'+;;''++;#@############+###################;;,,,:,:::,:::,,:,,::,,,,,,,:::::::::::::::::::::::;;:::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++:::
::::'''''';''''';;'''''';;;;;;;;;;;;;;;;;;'';;;;;;''''';;;'''++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######++#####@@@@@@@@#@##+@@@@@@#'':,.`   .+++'+++++######''#@@@@@@@@@@#@@#@@@########@##@@##########################@@@@'#+'+''''+#;################+##################++;:,::::::,,:,:,,,,,,::::::::::::::::::::::::::::;;;;;;;;:;;;;;;;;;::::;;;;;;::;;;;;;;;;;;';;;;;;';;'';';'';'''''''''''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++:::
::::'''''''''''''''''''''''''';;;;;;;;;;''';';'';;;;;;;''''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@#@#@@@@@@@@+;,``  `;++++++++##+####+++@@@@@@@@@@@@@@##@@@@@#######@@##########################@@@@#'#+'#++'+@#'@##################++################+;;::::,,,:::::::::,:::::,::::,::,::::;;:::::;:;;:;;:;;;;;;;;:;::;;;;;;;::;:;;;;;';::;;;'';;;;;;;;';;;;;;';''''';''''''''''''''++++++++++++++++++++++++++++++++++++++++#++++#+####:::
::::'''''''''''''''''''''''''''''''''';;;;;;;;'''';'';;'';;'''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#@#@@@@@@@@#;,.,,;'+++####+####+#@#'++@@@@@@@@@@@@@@@@########################################@@@@#+++##+''##+'#,;###################+###############+'':::::::::::::,:,::::::::,:::::::::;::::::::::::;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;:;;;;';;;;;;;;'''''';;''''''''''''''''++++++++++++++++++++++''+++++++++++++++++++++++++++##:::
::::''''''''''''''''''''''''''''''''''''''';;;;;;;;'''';;;;''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++##@@@@@@@@@#':;;'++##@@###########+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#######@@##############@@@@+##+'+';+@#+++'';,;+##################+###############+'::::::::::::,::::::::,,::::::::::::::::;::::;;;;;;;;;;;;;;;;;;,;;;;;;;;;;';';;';;;;;;;;;;;'';;;;;''';;'''''''''''''''''+'++++++++++++++++''''''''+++++++++++++++++++++++++++:::
::::''''''''''''''''''''''''''''''''''''''''''''';';;;;''''';'''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'++@@@@@@@@@@#+''++##@@@@@@@######+#'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@###########@@@@@'##+'+''#@@+#'''''''::+##@##############################'::::::::::::::::::::::::::::::;:::;;;;:;;;;;;:;::;;;;;;;;;;;;;;;;;;;;'''';;;';;;;;;;;;;;;'''''''''''''''''''''''''''''''+'++++++++++''''''++++++++++++++++++++++++++++++#++:::
::::''''''''''''''''''''''''''''''+'''''+''''''''''''''';;;;''''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''#@@@@@@@@@@##+++##@@@@@@@@@@#####'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@############@@@@@'#@+#+''@@@'#''''''''''::'#@@@@@@########################;;:;::::::::::::::::::::::;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;:;;;';;''';'''';;'';''''''''''''''''''''''''''''''''''''''''''+''++++++++++++++++++++#++++++++#+####:::
::::''''''''''''+''''''''''''''''''+'+++'++''''''''''''''''';;;''''''+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'+@@@@@@@@@@###++##@@@@@@@@@@@###++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@+#@+#+''#@#'+''''''''''''':,'##@@@@@@###################';;;:+';;;;::::::::::::::::;;;;;;;::;:;;;;;;;:;;;;;;;;;;';''';;;;;;;;;;;;;;;;;;';';;;;;;;;''';;';''''''''';;;''''''''''++'+''''''''''''++++++++++++++++++++++++++++++++++###:::
::::''''''''''''+'''+++''''''''''''''''''+++++''''''''''''''''''''''''+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;'@@@@@@@@@####++##@@@@@@@@@@@@@#'++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@#+@@';+'+##++'''''''''''''''+':,;##@####@#################+;;'##;;;;;;;::::::::;:;::::;;;;;::;;;;;;;;;;;;;;;;'';;';;';;:;;;;;;;;;;;;;;';;';;;;;'''';''';;''';;;;'';''''''''''''''''''''''''''''++++'''+++++++++++++++++++++++++##+##+:::
::::'''''''''''''''''''''++''''''''''''''''+++++++++'''''''''''''''''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''@@@@@#@@####++##@@@@@@@@@@@@@;++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@#@@#;:''+##+#;;;''''''''''''''''':.'########################+###':::::;;;:;;:::::::::;:::;;:;;;;;;;;;;;;;;;;;;;;;;';;;;;;;'''';;;';'';;';;;;;;;;';;;;;''''';;;'';;;'';'''''';;'''''''''''''''''''''''++++++'+++++++++++++++++++++#+##:::
::::'''''''''''''''''''''''+++++''+++''''++''''''++++''''''''''''''''''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@;'+@@@##@@####++##@@@@@@@@@@@@:#++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@+@@::;+'+#++#'';;;''''''''''''''''+',,+########################+'';:;;;;;;;;;;;;;;::::;;;:;;:;;;;;;;;;;;;;;;;;;;;::;:;;;;;''''';;;;;';;;;;;;';''';;;;'''';;';'';;''';'';;;;;'';''''''''+''+'+'++''++'+'+++++++++++++++#++++++++###++#:::
::::''''''''''''''''''''''''+++++++++++++++''''''''''''''''''''''''''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@''#@@@##@########@@@@@@@@@@@,#++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@#,;+#'++;#';''''';'''''''''''''''''+;,:+#######################++';;';;;;;::::::;:;::::::;;;;;:;:;;;;;;;;;;;;::::;;;;;;;;';''''';';;;;;;''''''''''''';;''''';''''''';';'''''''''''''''''''''''''+''+++++++++++++++++++++++++++###++:::
::::+''''''''''''''''''''''''''''++++++'++++++++''''''''''''''''++''''''''''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''#@@#######+####@@@@@@@@#,+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@+'+@#++++#;;;'''''''''''''''''''''''''+;.:+####################@###+#;;;;;'';;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;'';';';;;;;''';'''''''''''''''''''';;;;;;;;;;;;;;;'''''''''''+''+'++'++++++'++++++++++++++++++++++++++++++:::
::::'''''''''''''''''''''''''''''''''+'''++'''''+++++'''''''''''''''++++++++'''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''+@########@###@@@@@@@';+#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@'+#@#++:++''';''''''''''''''''''''''''''++;,:+################@###@##++''';';;;;;;;;;;;;;;;;;;;;;;:;;;;;:;;;;:;;;;;;:;;;;;'';;;;';';;;'';''''''''''''''''+'''';'';;''''+'''''';'''''''''''''++'''''++++++++++++++++##++++++++++++++:::
::::''''''''''''''''''''''''''''+''''''''''''''''''''++++''''''''''''''''''+++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''###+#++######@@@@#,++#+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+@++#@##+'#''''';''''''''''''''''''''''''''''++;,:+###############@@@#@####++'''''';;;;;;;;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;'''';';';;';;''''';'''''''''''''''''''''''''''''+++'''+'''''''++++++''+++++++++++++++++++++++++++++++++++++:::
::::''''''''''''''''''''''''''''''''+++++''''''''''''''''''+'''''''''''''''''''+++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''''#+++#@######@#:'+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++#@##;+#;''''''''''''''''''''''''''''''''''++++',:+##############@@@@@@@##+++''''';';'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;';';';';''''''''''''''''''''''''+++'''+'++++++''''+''+++++++++++++++++++++#+++++++++++++##########:::
::::'''''''''''''''''''''++'''''''''''''''+++'''''''''''+'''''''+'''''''''''''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'''''+#@@####+';'++++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'+#@@@++#''''''''''''''''''''''''''''''''''''''''+++',;+###########@###@@@@@@#+++++++''''+'';;'';:;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;'';;;';;;''''''''''''''''''++++'++++++++++''+'+'''+'+'++'+++++++++++++++++++++++++####++############:::
::::'''''''''''''''''''''''''+++'++'''''''++'''''+''''''''''''''''''''''''''''''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''''''''''''+'+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''##@#'+#'''''''''''''''''''''''''''''''''''''''''''+++;,;+##########@@@@@@@@@@#@##+#++#+++'''''';;''';;;;;;;;;;;;;;;;';;;;'''''''';;''';';''''''''''''''++++++++++++++++++'+'+'+''+++++++++++++++++++++++++++##+#####++############:::
::::''''''''''''''''''''''''''''''''''++'''''''+++''''''''''''''''''''''''''++++'''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''+''''+++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''+##'+#'''''''''''''''''''''''''''''''''+++'''''''+''+++';:;+########@@@@@@@@@@@@@@@@######++'''''''''''';';;;;';;;;;';';;;;;;;';;;';''';'''';'''++''+''+++++++++++++++++'+'++++++++++++++++++++++++++++++++++++####++++###########:::
::::''''''''''''''''''''''''''''''''''''+++++++'''''''++'''''''''''''''''''''''''''''''''+++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'++;'##''''''''''''''''''''''''''''''''''''+++'''++++''''+'';:;+########@@@@@@@@@@@@@@@@@####''''+'''''';'''''';'''';;;;''';;'';'''';'''';'''+''''''''+'++'++++++++++++++'+''+++++++++++++++++++++++++++++++++#+#++#+##############:::
::::''''''''''''''''''''''''''''''''''''+'''''+++++'''+++'''''''''''''''''''''''''''''''''''++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++'+##''''''''''''''''''''''''''''''''''''''++++''+'++++++'++'';:;+###########@@@@@@@@@@@@@@#+++###+'''''''''+'''''';;''''''''''''''';;;'''+';''';''''+'+++''++++++++''+'++'+'++++++++++++++++++++++++++++++++++#+++++###+#########:::
::::'''''''''''''''''''''''''++''+''''''++''''++'+++++++++++++'''''''''''''''''''''''''''''''''++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####'''''''''''''''''''''''';'''''''''''''+++++++''''++++++'++++';:'+##########@###@@@@@@@@@@@###+##+++'''+++''''''''''''''';';''';;;''';';''''''''''''''''+++''+''''''++'+++++++++++++++++++++++++++++++++++++++++#++#+#++#######:::
::::''''''''''''''''''''''''''''''++++++++'''++'+++'++++++++++++++''''+'''''''''''''''''''''''''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+''''''''''''''''''''''''''''''''''''''+'+'+++++'++++++++++++++'';;'+#######@@@@@@@@@@@@@@@#@@#@####+++++++++''++''''''';';''''''';;;;;';';;'+''''''''''+''''++''++++++++++++++++++++++++++++++++++++++++++++##++#+##+#########:::
::::'''''''''''''''''''''''''''''++''''+++++++''''++++++++++++++++++++++++++''''''''''''''''''++''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''''''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++';;;+#####@@@@@@@@@@@@@@@@@@@@@@@#@#####+++++++'''''';;''''''';''''';;'''''''''''+'+++'''''''''+'+++'++++++++++++++++++++++++++++++++++++++++++++++++##+#####:::
::::'''''''''''''''''''''''''''''''''''+''''+''''''++'''++++++++++''+++'+''+++++++++''''''''''''''''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'+++'''''''''''''''''''''''''''''''''''''''+'++++++++++++++++++++++++';;'+######@@@@@@@@@@@@@@@@@@@@@@@@########++'''''''++'''''';'''''''''''++++++++++++++++''''+++''+++++++++++++++++++++++++++++++++++++++++++++#+++++++####:::
::::''''''''''''''''''''''''''''''''''''+'''+'+'''++++++'''''''++++++'''+++'''++++++++++++++''+'++''''+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++++++'';;'+#####@@@@@@@@@@@@@@@@@@@@@@@@@######++++'+''+''''''''''''''''''''++++++++++'+'++'+''''+''++++++++++++++++++++++++++++++++++++++++++++++#+#+#++####:::
::::''''''''''''''''''''+'+'''''''''''''+''''++''''+++++++++++''+'''+++++'''+''++'+'''++++++++++++++++'+++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'++'+''''''''''''''''''''''''''''''''''''+++++++++++++++++++++++++++';;'+######@#@@@@@@@@@@@@@@@@@@@@@@@@@###+++#++++''''''''''''''''''''+''++++++++++++''++++++++++++++++++++++'++++++++++++++++++++++#++#+#+++#+++#####:::
::::''''''''''''++++++''''''''++++'''''''++'++'''''+++++++++++++++++''''''''+++++'''+++++++'++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''''''''''''''''''''''''''''''+'''''++''++++++++++++++++++++++++++++';;;+#######@@@@@@@@@@@@@@@@@@@@@@@@@@@##+###++++''''''''''''''''''''''''''+'++''+++'''+++++++++++'''''+++++++++++++++++'++++#+++++++++##########++:::
::::+'''''''''''''''++++''+'+'+'''++++++++'''''+'++++'''+'+++++++++++++++++'++''''''+++++''+++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''''''''''''''''''''''''''''+''++'++'''++++++++++++++++++++++++++++++';;'+########@#@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++''''''''''''''''''''+''''+'''''''++++++++++++++++++++++++++++++++++++++++++++++++#+++##+#+++++#:::
::::+++''''+++'+''''''+'''''+++++''''+++++++++++'''+++++++++++''++++++++++++++++++'++''''''+++++''+++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'+'''''''''''''''+''''''''''+'++++''+''+++++++++++++++++++++++++++++';:;+#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+#++''+''''''''''''''''''''''+'++'''''+++++++++++++++++++++++++++++++++++#+++++++#+++++##+##++###:::
::::++++++++++''''++'+''+++++'''+++++++++'++++++++++++++++++++++++++++++++++++++++++++++++'++'+''''++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++'++'++'+''''''''''''''''+''+++'+++''++++++'+++++++++++++++++++++;::'+#####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++++++'+++++'''''''''+++++++++++++++++++++++++++++'++++++#++++++++++++++#++++++++++++++#++#+:::
::::''''+''++++++++++++'++++'++++++++'''++++++''++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+++++'++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++'+'''+'++''''+'''++'+++'+''++'+''''+++++++++++++++++++++++++++++';:;'#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@####+++++++++++'''+'+++++++++++++++++++++++++++++++++++++++++++++++#####++++##++++++##+####:::
::::''''+''''''''+++++++++++++++++++++++++'''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'+++++++++++++''++++''+++++++++++'++''+'+++++++++++++++++++++++++++++;::;+######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++#+++++++++++++++++++++++++++++++++++++#++++++++++#++#+#++#+##+####+++++++++##++#:::
::::''+++++'+++'''''''+++++++++++++++++++++++++''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++'+++++++++++++++++++'++++++++++'++++++++++++++++++++++++++++++++';:;'#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######+++++++++++++++++#++++++++++++#+++++++++++++#++#+##+##########++++++##########:::
::::++++++++++++++'+++++++++++++++++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';::;+#####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@####++++++++++++++++++++++++++#+++++++++++++#+++##++########+++++##############:::
::::++++++++++++++++++''++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':::'+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########++++++++++++++++++++++###++++#++++++##+#########++++#++##++############:::
::::+++++++++++++++++++++++++'+''+++'+''+++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';::;+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############++++##+##+#########+#+++++###+++#+++++#+#+#####+#######+#####:::
::::++++++++++++++++++++++++++++++'''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':::'###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################+#######+++++#++++++++++++++++###+################:::
::::++++++++++++++++++++++++++++++++++++''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';::;+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################+#++##+++++++++++++++#+#+######################:::
::::++++++++++++++++++++++++++++++++++'+'++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':,:+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@###################+++++++#####+############+++##########:::
::::++++++++++++++++++++++++++++++++++++''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':,:'+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@###@@@###############+#######+#+##++++###########:::
::::++++++++++++++++++++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++++++;,,;+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@##############+###+###+##################:::
::::++++++++++++++++++++++++++++++++''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++#+':,:'###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################+##############:::
::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++#+++++++++++++++++++####++++##':,:;###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################################:::
::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++#+++++++++#++++++++++++++++++++++#++++++++++++++++++++#+###+++++#+;,,;+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################:::
::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++++++++++++++++++++++++++#++#++####++++##+':,:'###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################:::
::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++#++##++++++++++++++++++++#++++++++++++++##############+++':,:;+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@##################:::
::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####+###+++##+++##+#+++++++++++#++++##+#+++++#+++++##############+####+;,,;+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@#####:::
::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++###+++++++++++###++++++#+++++++++##+++++##++++####################+;,,;'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@##:::
::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########++++++#+##+##+#+++++##+++++++++#++++##++++#####################+;,,:'##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##:::
::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######++##++#+#######++++##+##+++++++++##########++######################+;,,:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#################+#####++#+###+++++++#+#+#+######++#######################+;,,:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################+#+++####+#+++++########################################+;,,:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########################+#+++##############################################+:,,:'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::++####+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################+##################################################':,,;'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::+++++++#+##+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++++++#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###########################+###################################################;,:::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::;;'''+++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+++++++++++++++++++##+++++++++++++++++++++++++++++++++++++++++++####+#++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################################################@#####################+:,::;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::;;:;;;;;''++++#+#+##++#+++++++++++++++++++++++###++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++#+##++++++++###+++++++#+#+++++++++++++++++++++++++++++++++############+##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################################++################################@@#@###########:,:::'#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::::::;;;;;;;''+++++#++####++++++++#++++++++++++++++####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++#++++++#+++++++++++++++++++++++++++####+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@#@@#####################################################################@#@##@############':::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,,,:::::::::;;;;;'''++++++++++############++##+++++++++++++######+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####+++++++++++++++++++######++++++++++++++++++########+######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################################################################################@@@@#########@+:::::;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,,,,,,,,,,,::::::::;;;;;''+++++##########++########++++++++++++++++#######++++++++++++++++++++++##+++++++++++++++++++++++++++++++++++#++++++++####+++++#######+++++++++++####+#+############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################################################################@@#######@#@@@@@#@@##@@@@@@#;:::::+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,,,,,,,,,,,,,,,,,:::::::;;;;;'''+++++++###########+++++#####+#++++++++++++++#####++++++++++++++++++++++++##+++++++++++++++++++++++++++++++++####++++++####++++++#######++########++++###+#++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################################################################@#@@@@##@##@#@@@@@@@@@#@@@@@@@':::::'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;;;'''++++##############++++#######++#++++++++++#######++++++++++++++++++++###++#+#++++#++++++++++++++++++++++++#######+###########+#####+#+####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##################################################################@##@@@@@##@@@@@@@@@@@#@#@@@@@@@'::::;;#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;''+++####################+#########++#+++++++++########++++++++++#+++++++++++#+++++++++++++++++++++++++++++++++##########################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################@#######################################@#@@@@@###@@@@@@@@@@@@@@@@@@@@@+:::;;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;''+++##########+##########+++++#######+++++++++++++#######++++++++++++++++++#####+###++++++++++++++++#+##+++++++##################################++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####################################@###@################@#########@#@@@##@@@@@@@@@@@@@@@@@@@@@@@+;:::;;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::';;;;:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;'+++###################################+++++++++##########+++++++++++##++++++++++###+++++#+++++++################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################@@@###@@@@@#@@###############@@###########@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@#';;;;;'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::'''''';;;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;''+++#+###########+#+##########++######+###+++++++++++######+++++++++++++++++++#+++######+######+#############################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###################@#@@########@@@#@@@@@@@#@@@@@#@@@@####@####@###@##@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@#++''';'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::+++++++''''';;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;;'''++++################################++##+++++++++########++++++++++##++++############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@################################@@@@@@@@@@@@@@@@@@@@@@@@####@#@@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#####+++++++++'''';;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;''+++++##################################+#++++++############++++++###############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############################@#@#@@@@@#@@@@@@@@@@@@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::############++++''''''''';;;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;;'''++++###########+##########+#############+++++++++#########++++++#+#######################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##########################@#@@#@@#@@@@@@@@##@@#@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::##################+++++''''''''';;;;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::;;;''+++#######################+###########++++#+#########################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@#######################@#@#@@##@@#@#@@@@@@@@@@@@@@@@@@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::########################+++++++'''''''''';;:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;''++########################################+++#+#+###############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######@#@@@@@@######@@########@@@@@##@@#@@@@#@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::################################++++++'''''';;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;'''''+++#######################+#################+############################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@###@#@#@@@@@##########@#########@@@@@@@@@@@##@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#######################################++++++''''';;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::;;;''+++#################################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####################@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@#@###@@@@@########@###@@@###@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#''''++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#############################################+++++++''''';;;;::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,::::::::;;;;''+++++###########################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################@###@@@@@@@@@@@@@@@@@@@#@#@@@#######@@#@##@@#@#@@#@##@#@@####@#@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@';;'''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#####################################################++++++'''''';;;;;:::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;;;;''++########################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@##@#######################@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@@@@@@##@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'';''''''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::############################################################+++++++''''''';;;;::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;;''+++#####################################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@####@######@###########@##@#@##@@@@@@@@@@@@@@@@@@@#@@@@####@#@@@@@@@#@@@@@##@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+';'''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::#####################################################################++++++''''''';;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,,:::::;;;;;''''+++++##############################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#######@@@@@@@@@@@#@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'';''''''+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::##@#@###@####################################################################+++++++'''''';;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;;;''''''++++###############################################################@#############@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@#@@##############@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@'';;;'''''+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@#@#####@############################################################################++++++''''';;;:::::,,,,,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;;''++++++++########################################################################@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@######################@@#@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#';;;'''''''#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@############@@@#@#####################################################@#@##############+++++++''''';;;;;;::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;''++++################################################################################@@@@@@@@@@@@@@@@@@@@@@@####@###@@@#@####@@#@#@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+'''''''''''+@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@#@#@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@##################@@#@#@###################################################################+++++++'''''';;;;:::::::,,,,,,:,,,,,,,,,,,,,,,,,,,,,,,,,::::::::;;;''+++#####################################################################@@@@@##@#@@@##@#####@@@@@@@#@#@@@#@###@###############@@#@#@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+''';'''''''+@@@@@@@@@@@@@@@@@@@@@@@@++@@@@;#;+@@#+@@@@#@@@@@@@@:::
::::@@@@@@@@@@@@@@@@###@@@@@@######@#@##@@@@@@@@@##############################################################++++++++''''';;;;;:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::;;;;;''++##################################################################@###@##@#########@#@#@#@###@@@####@#####@#@#@###################@@#@#####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+'''''''''+#@@@@@@@@@@@@@@@@@@@@@@+@+';'#';;'';''''@;@;#'#@+@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@#####@#@@@#@@@######@@@@@@@@@#########################################@###################+++++++''''''';;;:::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::;;;'''+++#########################################################################@##@@@@####@@@@@@##@#@@@@@@@@@@@@@@#@@@@#########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@##++++'''''+#@@@@@@@@@@@@@@@@@@@@@@#'#''+@+@'@''++'++'+++++@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@##########@@@@@@@#############################################################+++++++'''';;;;:::::,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::;;;;'''+++#########################################@@#@@@@@##@###################################@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++++++'+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@##@@#########################################@@@@@#############++++++''';;;;;::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::,::,::::::;;;;;'''++++#################################@@@@@@@@@@@@@@#@@@#@@@@@@@@#@@###@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########+++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#########@@@@@@@@############################################@###############++++++''''';;;;:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;''''+++##############@#@@@####@#@@@#@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@#@@#########################################@###############+++++++'''''';;;:::::,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::;;;;;;;;'''++++#######@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@@@@@@@@@@################@@#@#####################@@@##############+++++++''''';;;;;:::,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::,::::::::::::::::;;;;;;;'''''++########@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@######@@@@@@@@@@@########@#############################@@@@@#@###########+++++''''';;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::;;;;;;;;;;''''+++######@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#####################################@@@@@@##@#########++++++'''';;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::,:,,,,:::::::::::;;;;;;;''''++++#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@########@@@@@@@######################################@@@@@@@@@@###########+++++'''';;;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,,,,:::::::::::::::;;;;;;;''''''+++++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'''+++++#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##############@##########@@@@######@@#@@@@@@@###@########+++++++''''';;;;:::::,,,,,,,,,,,,,,,:,::::::::::::::::::::::::::;;;;;;;;;;;;;;;''''''+++++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'';;'''''+++++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@@@#@############@#@@##@@@@##@@########@#@#@@#@###################++++++'''';;;;;;:::::,,,,,,,,,,,,,,,,:::::::::::::::::::::;;;;;;;;;;;;''''''''+++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+'';;;;;;;;'''''''+++++++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
级别: 精灵王
发帖
3563
金钱
2119
威望
8
贡献值
70

只看该作者 1 发表于: 2007-10-31
Re:黑白的世界```
@@@@@@@@@@@#@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#'+#@@@@@@@@@@@@@@@@@@@@@#@@@@@#####@####;:###,+'.@@####+;###@#############@@###+#######@@@@#@@@##############@###################;'';'#########################################################################################+++####++##++####++#+++++++++++++++++++++++++++++++++++++++++++++++:``'++++++++++++++++++;+++++++++++++++++++++++++++++++++''++++++''+++'''''''''''++''''''''''''''''''''''''+: ;+'+''''''''''+'''''''''
@@@@#@@@@@#@@@@@@@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#`,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@####@###,+#@#,#`######+:#######################@######@@@@#@@###@@@#############################;``.+#################################################################################+#####++++#+###+++####++#++++++++++++++++++++++++++++++++#+'+++++++++++++++',:++++++++++++++++++',++++++++++++++++++++++++++++++++++'+++'''''++'+'''''''''''''''`.+'''''''''''''''''++':''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@+@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@####@@#@+;@@##'';#####+,++############################@@@@#@###################################+; `,+################################################################################+######+#+##+###++++#++++++++++++++++++++++++++++++++++++++++;+++++++++++++++++++++++++++++++++++++'++++++++++++++++++++++++++++++''''++'''''''''''''''''''''+''+`,++'''''''''''''''''''++'''''''''''''''''''''''
@@@@@@#+;@@@@@@@@,#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#,#@@@@@@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++#''@#+#:@##@#+:,#################@############@@@#@####################################;``.#################################################################################++#####+########+++#+++++++++++++++++++++++++++++++++++++++++`#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''++''''''''+'''''''''''+'''++'+''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@#@@@@##@#@@@@#+'''+++;,@#+''##@#+'`;#############@####@#########@@@######'''+;+###########################+##++################################################################################+###++#####+#+#++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+'+++++''++'+''''''''''''''''''''''''''''''''''''''+''+'''''''''''''''''''''''''''''''
@@@@@@#@#@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@#@####@@#++++++#+#''#++'+@#''+  @#######@##@#@@#############@@#######+`,,.+########################################################################################################################++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+'+++++'++''''''+''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@#@@#@#@#@@#+++++++##+++;#++''''++;``###########################@########+,  ;+#####################################################################################################################+#+++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+:;++++++'++'''''''''''''''''''''''''''''''''''''''''''''''+'''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@###@#@@#+''+++'';++++'#++'+++'+' +#########@#########################+.``,+#####################################################################################################################+++++#+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+ `''++++'''''''''''''''''''''''''''''''''''''''''''''+,;'''';'''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#####@@@@@@@##@@@###@@#+''''++''.,+++''++++++++;;`@####@#############################':::,+###############+@###################################################################################################+#+, :+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++++''++'''+'+'+'++''''''''''''''''''''''''''''''''''''''+,;''+,`;''''''''''''''''''''''''''
@@@@@@@@#@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@#@@@@@@@@@@@@@@@###+''''''''` :#++'++'+'@#++#.,##################################++++++#######################################################################################################+############+++, ,####++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'+'+'++'''''''''''''''''''''''''''''''''''''''+''''';+''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@##@@@#@@@@@@@@@@@@####@#+'';''''';,;+++'++++'@#+'#'`###########################################+##########################################################################################+#####################++#+;++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'+'+'''''''''''''';.''''''''''''''''''''''''''+'''''''+'''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@#@@#@@##@@@#@@@@@@@@@@@@####@#+';;;''+'++#++++++++''#++##:,#######################################+++++++##+############################################################################################################+##+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++;.;+++++++++++++++++++++++++++++++++++++++'+++++++++++''++'''''''+'''''''''''''''+''''''''''''''''''''''''+'''+''''''+''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#@@@@@@@@@@@@@@###@###++;';;'''++##++++++++:@++###`####################################''+''''''++'#################################################################################+##;##+######+######+++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++` `++++++++++++++++++++++++++++++'++++++++++++''++++'++++''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@##@@@####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####@#@@@@@###@@@@@@###@####+,:';;'''+##++;+++'+;#++###,,####################################;;+';;;'+:+################################################################################+###.#++++#+##++######++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:`;+++++++++++++++++++++++++++++++++++++++++++'''+''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@##@@@#@@@@@@@@@@#@@#+''''''''+++++'+++++'++#####`@##################################++.,:,,::.;++################################################################################+##@##+##++.+++#####+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+''''+'+'''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@#@@##'';';'''+''+;#+++'+++++@###.###################################+';`.,..`,''+##################################################################################++####++#:#++++++#++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++++++++++++++++++++++++++++++++'++++''''''''+''''''''''''''''', `'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@#@@###'''''''++++;@#+++++'#+####;;#################################+'';,`  `.,;'+########################################################################################++';++###+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''++++'++++++'''+''''''''''''''''''''''''',  ;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@@##@@###''''++++++'+@+++++'++####'`###############@#################+'':,`  `.,;'++#######################################################+;#############################++'.`:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+'''''''''+'''''''''''''''''''''',;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@##@##@@@##+'''++++###+##++#++++####+`#################################+'':,`  `.,;'++#######################################################################################++.`;+##++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'++''''++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+:#@@@@@@@@@@@@@@@@@@###@##@@@@@@#@@@@@@@#######@############+:@####++'+####+.#################################++';,````.:;'+#########################################################+#######################+########''+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++++'++++'++''''++''''++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@#:@#@@@@#@@@@@@@@@@@@@##@@##@#@###@@@@@@##@@#################+:####@++''@####,##################################+'+`,,,,`,''+######################################################################+##########++####+++#+#++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++'++++++++++++++++++++++'++'++++''+++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'.`'''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@####@@@####@@@#@#@###################:.####+++;@###+,@##################################+`;;:::'.;+####################################################################,:##################+++#+#++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+.,+++++++++++++++++++++++++++'+''++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',`'''''''''''''''''''''''
@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#@@@#@@@@@@@#@@@@@@@@@@@@##@@@##@@@@@@##@#@#################@#'`####+++:@###+.@#################################+;++'';''+:+####################################################################+##+#############+#+++++++++++++++++++:++++++++++++++++++++++++++++++++++++++++++++++++++++; ,+++++++++++++++++++++++++++++++++++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@#@#@@#@@@@@#@#@@##@@@@@@###@@#@####@@@@@@#####@@##################+ +###+++;@###+,@################################++++++'''+++++######################################################################+########++++#+#++++++#+++++++++++' :++++++++++++++++++++++++++++++++++++++++++++++++++++ ;+++'++++++++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''''''''''
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@#@@#@@@@#@@@@@@@@@@######@#####@@@@####@#####################+`'###+++;@@#+',##################;;@@##########++#####+++####+#######################################++#+#######++#########################+++#++#++++++++++++++++++++#+++++++++++++++++++++++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++'+'+''''++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''':;''''''''''''''''''''''';`:''''''''''''''''''''
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@@@#@@@@@#@@#@@@@@@@@@###@@##@@#@@############################+:;###+++;@##+':##################++@@#########+########################################################+# .#############################+##+++#+++++++++++++++++++++++++++++++++++++++++++++++++++;`+++++++++++++++++++++++++++++++++++++++++++++++++'+++++++'++++'+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;`,+''''''''''''''''''''''+;'''''''''''''''''''''
@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@##############@#@#@##@#############################+':###++++###+;'@###################@#####################################################################:;################################+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''`++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@@@@@@@@#@@@@@@#@@###############@@#@@@@@@@###########################+;###+++###'+,####################@##########++#######################################################+####################################++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++''''+++++++''+'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@#@@###@@@@@@@@@@@@@@@@@@#@@@@@##@@@@@@@@#####@@@@@@#@###@#@@@@#@@@#@@#@##@@@@#####@@@#####@@@@@########################++'@##+++##''#,@##@############################`+#########################################################:,###############+###++++###++#+##+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'+'+'++'''+++'''+'++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@#@@######@@+#@#@@#@@##@@@@###@#######@##@@@####@#######@@###########++'###+++#''#',##################################################################'''+#####################``#+#################+#+++##+++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+''''+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@@#@@@@@@@@@@@@@@@@@@#@@@@@@#@#####@@@@#@@@@##@@@#@#@@@#####@####@@###@@#@@@@###################+++###++++'+#.'@####@###########################################################+: .+###################+####################+####++##++#++++++++++`'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++'+'''+''''+'''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@#@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@@@@@##@@@@@@@#@@@@@@@@@@@#@@@##@@@@@@#@@##@###++'''',,+#########@@###@##@#@@###################+'+##++++'+#',@####+`@########################################################+#', .+#######################+##############+#+#######+++++++++++++#'#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''''''''''''''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''``''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@#@@@##@@@@###@####@@@@#@#@@@@@@#@####@@@@@@@@@###@@@@@@@@@@#@#@@@#@#@@@#@#''+++++++.####@######@@######@@#########@#######@#+;+##+++'++#`####################################################################+++######################++####+#########+###++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++''+++''+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':,''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@##@@@#@@@@@###@@@#####@@@@@@##@@@@####@@@#@#@##@@@@@@@@@@@@##@######@@@@#''+++++#+'+:`@##@######@@###@##@@###################+,+##+++++#,'@########################################################################################################+###+#+++++++++++++++++++++++++++++++++++++++++++++++;;++++++++++++++++++++,'++++++++++++++++++++++++++++++++++++++++'++'''++'''++++'''''''''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:''''''''''''''''''''''''''
@@@##@@@#@@@@@@@@@@@@@@#@@@@#@#@@@@@@@@@@#@@#@@@@@#@@@@@#@##@@++@@@@@@@@@#@#+#@#@#@#'+++####@#@#++`'#########@###@@##@####################+:##++++++,+################################################################################################+#########+##++++#+#++++++++++++++++++++++++++++++++++++++++++#,,++++++++++++++++++++,++++++++++++++++++++++++++++++++++++++++'+''+++++'''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''
@@####@@#@@@#@@@@@@@@@@#@@###@#@@@@@#@#@@@@@@#@@@@#@@@@@@@@@@@';@@@@@@@##@@@#@@@##+'++####@##@##++.+############@####@##################@+'.@#+++++'###############################################################################################################++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++++++''+'+++''+''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@@@@@@@@@@@#####@@#@#@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@@@@@@@#@#@@@##@#'+++##@###@#@##++:#@@#@@@@#############################+#,##+++++'#################################+#@####################################################+################++#+##+++++++##+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++''+'+++++++'++'+'.++''+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@#@@@@@@@@@@@@@####@@@@@@@@@@@#####@@@@@@#@#@@#@@#'++#####@##@####++'#;''##@#@###########################+++###++++'####################################.#################################################+#####+####++########+##++++++++#+++:#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''+;++''''+'''++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@##@@@@@@@@@@@@@@@@@@#@@@@@@#@@##@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@##+'+'#@@#@@########++'''':.+##############################++#@#+++++#@###################################;################################################+'+####'#####+##++###++++++++++++++++;#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''+''+'''+''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@@@@@@@@@#@#@@@@#@###@@@@@@@@@@@@@@@#@@@#@@@@@@@@@@#@@@@@@@@@@@@##'+'+@#############+'+++'':,#@@###########################++##+++++#########################################################################################`;+:.++#++++#++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++'+''''+++'''''''++''''''''''''''''''''''''''''; ,'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#@#@@@@@#@@@@##@@@@@#@@##@@@##@@@@@@#@#@@#@@##@@@@#############@@#######@@@##++;###############+''+++##';:############################++'@#+++;@#+#######################################################################################' ` '#++++++#++###++++#++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++++++++++++++++++''+++'''+++'''+''''+''''''''''''''''''''''''''''''''':'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''
#@#@@@@@@@@@@##@@@@@@@@@####@@@@@@@#####@###@@@@@@@@@@#@@',###@@#########@##++;;###@#####@@####+''++:.,+;:+##########################+++##+++', #++@###########################################################:#########################'` `,:#+++++#++++++++#`,#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:''''''''''''''''''''''''''''''''`'''''
@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@###@#####@#####@@@@@@@@###@@###@######@@#@###+''@###############';;++:.`''.:#########################+++#@+++''+. '+###########################################################+'#########################;`` '#+++++++++++#+++'`,##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',,+''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@@@@@@@@@@@#@@@@#@@@#####@#@###@#@@#@@@@@##@##@################++,#################';.#+;:,;+:,#########################++##++';',,+ ,+####################################################################################+#:';'.++##+++++++++++#+##+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++++++++++++++++:.+''''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#@#@@@@@@@@@@@@@@@@@@@##@@@@@@@@#@@@#@@@####@@##@##@@@######@###########@#+':'#####@###########;'.'++;:'+;,#######################++++#'+';;':.', #+###################################################################################+++++#+++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++''+'''+++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@#@@@@@#@@@@@@@@@@##@@#@@@@@@@#######@@###@@@##@###@@###@###############@'#.@#####@###########;;'`+++'++.;######################+++##;++':;;''':`#+###########@#####################################################################++++##+#++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'++++++++++''''++''''+'+++++':'+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@#@##@###@##########@@@#@#######@###@####@##@@######@#########'';##################':+'.'++++`@#############++######+++#'+++#+;:'';','############';##################################+@#########################++######+++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++'++'++'''''+'''''+, '+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@@@@#:@@@@#####@####@@@@@###@@##@###@######@@@###############;+`+##################+:;'#'++':@+;##################++++''+';###+:,:;';#############+;###################################; +##################++##++++#####++++#+++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+++++++'''+''+'''++++''+'';++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':`;'''''''''''''''''''''''''''''''''
@@##@@@@@@@@@#@@' ##@@#@#@@#@#@#@@@@#@@@@######@######@@@@###############'+`####################;;:;;'+#@#',@###############+'++++++,+@####+;,;+####################################################+#########################++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''''''+'''+'+++++''''+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';''''''''''''''''''''''''''''''''''
@@##@@@@@@@@@#@@##@##@@@@##@#####@@@############@@#####################@+''`####################+;;:+##@#################+++'+++++;'#@#######+###############################################################################+++##++##++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++'''+''''++''++'+'''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@##@@@@@###@#@@#@#@#######'#@#@##@@#@@#@#############@##############@#@++: #####################+++'+#####@#######++++++++++++++:###########################################################################################++#+++++++++++++++++++++++++++++++++++#+++++++++++++++++++++++++++++++++,#++++++++++++++++++++++++++++++++++++++++'''''''''++'''''''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@###@@@####@#@@@#@@####@@; ################@###############@########@##'+,`######################+++'+++++++++++'''++++++++#''+########################################################################################++++#+####+++++++++++++++++++++++++++++++++;+++++++++++++++++++++++++++++++++;+++++++++++++++++++++++++++++++''+++++''''+++'''''''''''''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''',;'''''''''''''''''''''''''''''''''''''''
@@#@@@@@@@@@@##@@@@@@@@#@@#'@##@@###########@###################+#######'+.`######################++++++'++++++++++++++++++';+###############################################################################+#####+++++++++##+++++++++++++++++++++++++++++++++++#: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''++''++'+'+'+'''++'''''+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''',;'''''''''''''''''''''''''''''''''''''''
@@#@####@@@@@@##@@@@####@##@###@##############@########################+++.`################@#####++++++++++++++###+';;''+##########################################################################################++++++++#+++++++++++++++++++++++++++++++++++++#'#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++''+++++''++''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@@###@@@@@@@@##@@@@@####@#@###########################################+++: ######################++++++++++'++'';;:;'#######################################################################################+###+##++++++++++++++++#+++++++++++++++++++++++++++#+#+'+++++++++++++++++++++++++++++'+++++++++++++++++++++++++++++++++''''''''+''''+'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''''''''''
@@@####@@@@@@@@@##@@#@@#@#@@###########################################+'+' ######################++++'@###########@#@####################################################################################+##+++#+++##+++++++++++++++++++++++++++++++++++++++++++#++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'''''''''++'.`;+'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
@@###@##@@@#@#@@@######@########@############+,@###############@#######+'@+ '#####################+++':##############################################################################################++####+#++####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++'+++'++''''+++;  .''+'''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''
@@#####@@#########@##@#######################@#@#########@# :@@########+;#+`'#####################+++#,#####################################################################++###########################+++++#+++#+++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'''''''+++''''''''++''.`;+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''
@@##@##@@###@################################@##########@##:'@#@########:@',;######################+++';#############################################################################################++++++++++++++++++++++++++++++++'+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''++++''+++++''++++'''''''+'''''+'+''''+'''''''''''''''''''''''''''''''''''''';'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''
@@##@@#################################@######@############@@##@########:##;,#######################++#.+#######################################################################################++#+#+++++++#++++++++++++++++++++++++.#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;'++''++++'++'+++''''+'''''''''''''''+'''''''''''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''``''''
@@###########@@###@@@@@#####@@###@@#####################################,##:.#######################++++.##+##############################################################++##########+#+############+++++#++++++++++++++++++++++++++#+++++++++++#+ :#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,+''+++'''+'+''''''+++'''''''''''''''+'''''''''''''''''`.'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''::''''
@@###########@##@##@@##@#####@###@@##############@@#####################,##+.'#######################+++'.###############################################################++++###########+######+####++++++#++++++++++++++++++++++++++++++++++++++++.'+++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''+++'''+'''+'+''+''''''''''''''''''''''''''''''''''''''+::'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''';';''''''''''';'''''';''''''''''''''''''''''''''''''''''
@@##@@#############@@##@####@#####@##############+######################,###'`########################++#+`#########################################################+######++##+#####++++######+###+++++++++++++++++++++++++++++++++++++++++++++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''+'+'''+''+''+''+''++'''''''''''''''''''''''''''''''''''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''';;''';';'''''''''''''''''';'''''';''''''''''''''''''';';'''''
@@###@@######################### :@@#############+#####################+:@###`+########################+++;,#############################################################+'++#########+++###+##+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+++++''+'''''''+''+'''''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''';''';'''''';'';'''''''''';''';;;''''''''''''''''''''''';''''
#######@@#######################;+#####################################+,@##+' @########################'+#,:@#+######################+#############################+++#'` ;###++######++##+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'++++''+'+'+''''''''++++++'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''',''''';''''''''''''''''''''''''''''''''''';;'''''''';''';'''';;'''''''''';'''''';;;;;''';';;;''';;''''''''''''''
######@@@@#@#@##################@@#####################################+:+###+`;#########################+'#,:#+######################++######+#########################+` :##+++#++#++++#++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++++++++++++++'+++++++++++++''+'''''''''''''+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:'''''''''''''''''''''''''''''';''''';''';;''''''';;;''';''';:;'';'''''''''';;'';;;';;;;';'''';;;;''''''''''''''
######@@@###################@#`,########################################':#####.#########################+++#`;######################################################++++';+##+++######++#++++#++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++++++++++++++'++++++++++++++++++++++''+''++'''''+''+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''.:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''';'';;''''';'''';''';';'.`;'';''''';'''''''';;;';;;;;;;'';'';;''''''''''''''
########@#####################:'########################################+;####+;;#########################++++.:####################+#################################++#####+++#++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++''+''''+''''+'''''''''''''''''''''''''''''''''''''''';;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;''';';'';''''';;;;;'';;';';:';;;'';'';';;;;;;;;';;;;;;''';;'';';''''''''''''''
#@######@#@##############################################################'#####+.+#+##+####################++'#,;##++################################++#####+####++####++#++++++++++##++++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'+'''++++''''''''''''''''+'''''''+''''''''''''''''''''''''''';;..;'''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;''''''''''''';'''''';'';''';;;;''';;;;';';;;;'';'';;;;;;';;';;;'';;;;;';;;;;;;;;;;';`;';''''''''''''''''
###@#@@#@################################################################+#####+#.@@########################++'+,,@###+#####################+#+++#''##++#++++#+###+#+##++++#++++++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'+'++'+'++'''''''''''''''''+'''''''''''''''''''''''''''''''''''':``:.'''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;'''''';;;;''''''';;'';;'';';;;;'';''';;;'';;';;'';;'';;';;';'';';;;;;;;;;;;;;;;;;';`;';''''''''''''''''
#####@@###########################################################################.##########################'++'..#++#+######################+++#;'#######++++++#+++++#+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::++'++++'''''''''''''''''''''''''''''''''''''''''+''''''''''''''';::':''''''''''''''''''''''''''''''''''''''''''''''''''''';;.`:;'''''';''+++++++''';;;';'';;';;';;'';;;;'';;';;;;;;;;''';;;;;;;;;;;;;'';;;;;;;;'''''.`'''''''''''''''''
#####@#############################################################################,########################+#++#'``#++#################++##+#++++##########+#+++#++++###';#++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''.`++++'''''''''''''''''''''''''''''''';''''''''''',;'''''''''''''''';''''''''''''''''''''''''''''''''''''''''''''''''''''''';;.`,;;'''''''+++++++++++'';;;;;''';'';;'';;;;;;'''';';;;;;;;';;;';;;;;;'';;';;;;;;;;;'''':,'''';''''''''''''
@##@#@############################################################################++,+#####+###################++''`.#++##+####+++###+###++##++###++++++++#++++#+++++++#+``#++++++++++++++++++++++++#++++++#++++++++++++++++++++++++++++++++++++++++++++++++''+++++++++++++++++++'''''+++++''+'''''''''''''''''''''''''''''';`.'''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''';';'''';:,;'''+++++++++'+''++++++''';:;;';'';;;;;;;;;';;;;;;;;;;;';;;;;;;;;;'';''';;';;;;';';'''''';;''''''''''''''
@####################################################################################.@###+####################++++:`.#++######+++++##+:+#+++++###+++++++++++++#+++++++####+++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''+''''+'''''''''''''''''''''''''''''',  ''''''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''';'''''++++++++++++''''''+''++++''';;;;;;;;;;;''';';;;;;;;;;;;';;;;;';;;;';;;;;;;;;;;;;;;;;'''';';''''''''''''';
@@##################################################################################++.#####################++###'++:`,#++###+##+++###; '##++++##++++##+##+#+++#+++++++++#+#+++++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''',,'''''''''''''''''''''''''';''''''''''''''''''''''''''''''''''''''''''';''''''';';:'''+++#+++++++++'''++''++''''+++++''';::;;;';;;;;';;;;;;;;;;;;';;;;;;;;;'';;''''';;;;''';''''''';;''''';'''''''
#@###################################################################################+#,+#########################''+;`:+++++++#####++####+#++#+#++++###+++++++#+++++++++++++++++++++++++++;+++++++++++#'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:'''''''''+:,+++++++++++''''+''++''''+''''''''++++'';;:;;''';;';;;;;;;';;;;';;;;';;;;';;;;;''';;';;'';'';'''';'''''';'''''''
###@####################################################################################,#+####+#########+#########'+':`.@++++++#####+###+##++++++++#+++++++#+++++++#'++++++++++++++++++++#;++++++++++++ ;+++++++++++++++++++++++++,+++++++++++++++++++++++++++++++++++++++++'''++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'::';'''''++++#++++++''+'+'+'++'++++'+''''''''''''''+++';;;::;;'';;';;;'';;;;;;;;;;;;;';;;;;;;;;;;;;;'';;;;'''';;'''''''''''''
#########################################################################################.;###+##########+#########+'+',``#++++###++++++#+##+#++++++#++++++++++++++++++#+++++++++++++++++++++++++++++++#;++++++++++++++++++++++++++:+++++++++++++++++++++++++++++++++++++++++''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''+++++++++++++++''+'+++++++++++'.++''''''''''''''++++'';::;;;';;;'';;;;;;;;;';;;;;;';;;;;;';;;;;;;;;;;'''';''''''''''''''
@#####################################################################################+###,'#+#+#################+++#'+',`.#++++###+#+++#++####+++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++++++++++++++++''++'+++++++'++'+''''''''''''''''++++'';::;;';;;;;;;;;;;;;;;;'`:';;;;;;;;;;;;;;;;;'''';;'''''''''''';
########################################################################################++#::@+#################+#+#++'+',`:++++++#++++++++#++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''''''''''''''''''+++++++++++++++'++++'''++: ;++++++++++''+'+''''''''''''''''''''+++';::;;;;';;;;;;;;;;;;';';;;;;;;;;;;;;;;'';;';';''''''''''''';
#########@#@#############################################################################+##:.@##+#+######++###+#+####+'+'.`'++++#++#+++++++++++++++++++++++++++++++#.;#+++++++++++++++++++++++++++++++++# .+++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''++++++++++++'';'++++'++++++++':'+'':'++++++++++++++'''''+''''+''''''++++''':::;;;;;;;;;';;;;;;;;';;;;;;;;;;';;;;;;;;;'''''';;;';'''
####@@##@################################################################################+###,`@###+++#++++###++++#####+'+:.`##+++++#+++++++++++++++++++++++++++++++#'##+++++++++++++++++++++++++++++++++#:;++++++++++++++++++++++++++++++++++++'+''+++++++++++++++''++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';''''+++++++++++++'+',`.'+++++++++++++++++: ;++++++++++++++++'''++'''''''''''''''+++';;:,;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''';';';'''
#####.@###+ +@###############################################################################+#,+##+++++##++##+++++++++++'+,``#'+++++++++++++++++++++++++++++++++++++#+#+++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;:'++++++++++'+'+++++'.  '+++;++++++'+++'+++'+'++++++++++++'+'+++++++'+''''''''''''''+++++:,``;''';;;';;;;;;;;;;';';;;;;;;;;;;;;'''''''';'';
#####+@####.+#,###################################################################++############ ;#@#+++##++##++++++++++#+''.``@+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;++++++++++++++++++'+;,;++++`+++++++++++++++++++++++++++'''++''+++++++'''''+'''''''''''''++,.;:;;';;;;;;;;;;;;;;;;;;;;;;;;;;;'';;'''''';;';
##############################################################################+###########++##+##`;##+#++++++#++++++++++++++;``,+'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''+'.,;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';;;;;;++'++++++++++'.+++++++++++++++++++++++++++++++++++++++++++++++++++++''++''''+'''''''''''''''''''':,:;;;;;;;;;;;;;;;;;';;;;;;;;;'';;;;'''';;';
#############################################################################################+++##::###+++++++++++++++++++++#.. ''+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++++++'++'''''+'+''''''''''''''''''''''''''''''''''''':  ;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:;:;++';;;'++++++++++++++++++++++++++++++++++++++++++++++++++++++++':;+++++++++++++++++++++++++++++''+'+'+';;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;'''';;;;
###############################################################################++#######+++#++++#++'.#++++++++++++++++++++++++`. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+'''''''''''''''''''''''''''''''''''''''''''''': `;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:;;+'';'';;'+++++++++++++++++++++++++++++++++'++++++++++++++++++++++,` '''++++++''++'++''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;'''''';';
#############################################################################',#+#####+#+++#+++++++#+`##+++++++++++++++++++++':``.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''+'''''''''''''''''''''''''''''''''''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:;''';';;;;;;'+++++++++++++++++++++++++++++++++'''+++''+++++++++++++++: .+++++++'++++++++++++'+''''''''';;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';';;;'';';
#######################################################################################+++##+++#++++#'.++++#+++++++++++++++++'+```'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++'''++++++++++++++++++++++''''''''++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''''';;:;;'+';;;;;;;;;;;'++++++++++++++++++++++++++'+++'++++++++''+'++'++++'+++++'''+'++'++++++++++''++++++'''+''''+'''+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;';;;';
#########################################################################+############++++#+++++++++###;++#++++++++++++++++++++:`` ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''`;++++`;+++++++++'++++'+''''''''''''+:.+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''''''''''''''''''''';;:':;+';;;;;;;;;';;;'++++++++++++++++++++++++++++++++++++++++++'+'++++'''++++++++'++++++++++++'++'++'''''''''''''''';:;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;;;;;'';
######################################################################++############+++++++++++++++++++#;#++++++++++++++++++++''.``'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++.'+++''+++'+++++++++''''''''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'';';;;:;'++::;;;;;;;;;;;'''+++++++++++++++++++++++++++'+::+++++++++++++++++++++'''+''+'''''+++++'+'++'''++++''+''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';''''';
####################################################################++++#++####++++#+++++++++++++++++#+##+#++++++++++++++++++++':` ,+'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++++++++++++'''''''''''''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;:;;+#';;;;;:,;;;;;'''+++#++++++++++++++#++++++++++++++'++++++++++++++++++++++++++++++++;'+'''''++;;++++++++'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;'';
######################################################################++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++.  #'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;''';;;;;;;;;;';;;'+++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++:;'''';'':#++++++++++++++++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;';;
######################################################################+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++',  ;'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'++'+++''+++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;'+'';;';;;;;;;;;;'++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';+'+'++,;';;';.++++++++++++++++++';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
####################################################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:  .''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''+''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''''''''''''''''''''';''''''''''''''''''''''';;''''';;;;;''';;;'';;;;;;;;'++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,`,`'+''.,;;:.+'+++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';
#####################################+##+##########################++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;  `''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''';`;''''''''''''''''''''''''';;'';''''''''''''''''''';;;;;;;;;;''';;';;;;;;;;;''+#++++++++++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++':  .'+'''`.``'''+++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''
####################################+###++##############++++++##+##++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++'` `''+++++++++++++++++++++++++++++++++:'+++++++++++`'+++++++++++++++++++++++++++++'++++''++++++'+''''''''';'+''''''''''''''''''''''''''''''''''''''''';`''''''''''''''''''''''''';;''';'''''''''''''''''''''';;:;''';;';;;;;;;;;'+#+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++, ``+''':,  ::''++++++++++++++++':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
########################################################++++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.  ;'+++++++++++++++++++++++++++++++++'++++++++++++'++++++++++++++++++++++++'++'++''++''+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''''''''''''''';;';';;;;;'';;';''''';;;;;;;;;;;;;;'';;;;;;;;;;;;'++#++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,;+';;.` .;;'++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;
#######################################################+++++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,  :''+++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++++++++++++'++''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;;;;';;';;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+'':`::.:''++++++++++++++++;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
###################################################+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+:  :;'+++++++++++++++++++++++++++++++++++++++++++++'++,`++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'++##+++++++++++++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;,';;',;+++++++++++++++++;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
###############################################+++++#++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;` :''+++++++++++++++++++++++++++++++++++++++++++++'++;,++++++++++'++'++'++++'++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'+++++++++#++++++'''++++++++++++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':+''''+:;+++++++++++++'++;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
##########################################++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'. .'+++++++++++++++++++++++++++++++++''++++++++++''''++'++''++++'''''''''+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';`.;'''''''''''''''''''';;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;+##++++++++++;''+++.`+''+++++++++'++++'++++++++++++++++++++++++++++'++++++++++++++++++++++++++++';++++'+++:'++++++++++++'++;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#############################################+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''. .''+++++++++++++++++++++++++++++++++++++++++'+'+++++'+'+''''+'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';.,;'''''''''''''''''''';'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'+###++++++++++.`;+'++;:++'+++++++++++'++'+++++++++++++++++++++++++#, ++++++++++++++++++++++++++++''++++++++++'++++++++++++'++;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
######################################+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+, :''+++++++++++++++++++++++++++++++++++++++'+'+'+'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''''''''''';'''';'';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;++++++++++#;+'++'++++++++++++++'+'++'++++++++++++++++++++++++++'.++++++++'++++++++++++++++++''++++++++++++++++++++++++''+;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
########################################++++++++++++#+#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+, :''+++++++++++++++++++++++++++++++++++++;++''''''++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;';;;;;;;;;;;;;;;;;::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;'++++'''++++'''+++'++'++++''+'+'+'++'+++++++++++++++'++'+++++++++++++++++'++++++++++++++++++''+++++++++++++++++++++'+++'+;,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;';;;;;;
#########################++#############+++++++++++++#+++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+: ;''++++++++++++++++++++++++++''''''+'''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;'+''''''++''''''++';'+++''''''+'+'+''++++++++'++++++'+''+++++++++++++++++'+++++++++'++++++++'++++++++'++++++++'+'';'++''';,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.:;;;;;;;
############################++++###+++#+++++++++++++#++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+: ;''+++++++++++++'''++++'+''+++'''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;';;;;;;;;;;;;;;;;:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''+''++'``++'''''''+'+'+''++++++'+'++++++'+''+++++++++++++++++'+++++++++'++++++++'+++++++++++++++++'''.`:++''';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#######################+####+++++##++++++++++++++++++#++++++++`.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+; ;'''+++++++++++'''''''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:''''''''''''''''''''''''''''''''''''''''';''''''';;;;;;;;;;;;;;;;;;:::::::;;;;:::::::::;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''+''+'''''''''''''''+++'++''''+++++''''+++++++++++++++++'+++++++++'++++++++''++++++++'+++++++'''.`;++''';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
##########################++##++###+++++++++++++++++++`#++++#+'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';,`.+'''++''+++'''''+''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:'''''''''''''''''''''''''''''''''''''''''''';;;'';;;;;;;;;;;;;;;;;;:::::;;;;;;;;;:::::::::;;;;;;;;;;;;;:;;;;;''''''''''''''''''+'''''''''''''''''+++'''''''+++++''''++++++++'++++++++'+++++++++'++++++++''+++++++''+++++++''';;'+'''';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#########################++++++++++++++++++++++++++++#++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;'+'',:+''++''''''''+';.,''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:''''''''''''''''''''''''''''''''''''''';;'''''''';;;;';;''';;;;;;;;;;;;;;:::::::::;;;;;;;;;;:::::::::::::::;:;;:;:::;;;'''''''''''''''''''''''''''''''''''''++'''''''+++++''''++++++++'++++++++'+++++++++'++++++++'++++++++'''+++++'''''''''''';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#####################++#++++#++#+++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''+''+++ ;'''''''''''''''',`.'+'''''''''''''''''''''+''''''''''''''''''''''''''''''''''''''''''''',`'''''''''''''''''''''''''''''''''''''''';'';'';;';;;;;;;;;;;;;;;;;;;;;;;;;::::::::;;;;;;;';;:::::::::::::::::;;:;;:::;;''''''''''''''''''''''''''''''''''';'++'''''''++++'''''++++++++'++++++++''++++++++'++++++++''+++++++''''+''''''''''''''';:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
##################+++++++++++++#++++++++++++++++++++++++++++;,+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''+'''`:'''''''''''''''';,:'''''''''''''''''''''';,;,,.'';;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;'';''';;;;''';;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;;:::;;::;::::::::::::::::::::;:;:::;'''''''''''''''''''''''''';'''''''';'++'''''''++++'''''++++++++''+++++++''++++++++''''+''';;''+++'''''''''''';'''''''';;;:;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
####################++###++++++++++++++++++++++++++++++++++++;#;;#++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++'+'`:''''''''''''''''''''''''''''''''''''''++++++:+,,;';';;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';'''';'';'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::::;::.,::,:::::::::::::::::::::::;::;;;''''''''''''''''''''''''''''''''''''''+'''''''++++'''''++++'++'''++++++''''++++++''''+'''+:,''''''''';''''''';;;';'`';;;::;:;;;;;;;;;:;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;
#########++#########++++++++++++++++++++++++++++++++++++++++++++'#++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''+'`:'''''''''''''''''''''''''''''''''';'''++++;;;::,`.+;';';;;'''''''''''''''''''''''''''''''''''''''''';''''''';;''''';'';''';;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;;:::;;;;;:::::::::::::::::::;::::;;;'''''''''''''''''''''';;''''''''''';'+''''''''++++'''''+++++++'''+++++''''''''''''''''''''+;'''''''';;''''''';;;''';';;;:::::::::::::::::::;::::::;;;::::;;;;;;;;;;;;;;;;
########+###+###+++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''++'+''''''''+'`:'''''''''''''''''''''''''''''''''''''+++#++'''';:``:';;;;;;;;;';;;'''''''''''''''''''''''''';'''''''';'''';;;;''';;;;;;;;;';;;;;;';;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;,::;'''''';;;;;;;::::::::::::::::::;;:::;;;;''''''''''''''''''''';;;''''''''''';'++'''''''++++'''''+++++++'''++++++'''''''''''''''''''';'''''''';;''';''';;;'';';;;;::::::::::::::::::::::::::::::::::::::::::::;;;;;
########+###+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''+'`:;''''''''''''''''''''''''''''''''';'+#####++;,''#+,`,';;;;;;;;;;;;'''';;;''''''''''''''''';''''''''''';'';;;;;;';;;;;;;;;;;;;;;'.`';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;::;'';'''';;;;;:::::::::::::::::::::;::;;;;';'''''''''''''''';';;+''''';'''''';'++'''''''+++''''''+++++++'''++++++'''''+''''''''''''''';'''''';;;''''''';;;'';;';;;:::::::::::::::::::::::::::::::::::::::::::::::::
########+#:##+++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''''+'''''''''+'`:;'''''''''''''''''''''''''''''''';######+'#++'#;`:''.`,;:;;;;;;;;;;;';;;;'''';'''''''';'';'';'';;'';;';;;';;;;;;;;;;;;;;;;;;;;;;,,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::;';;;;;''';;;:::::::::::::::::::;:::;:;:;';'''''''''''''''';'''`,'';;'';';'';'++''''''''+++'''''+++++++''+++++++'''++++''''''''''''''''''''';;;''''''';;;'';'';;;::::::::::::::::::::::::::::::::::::::::::;::::;;
########## '#++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''++++''''++''''''''''''''''+'`:;''''''''''''''''''''''''''''''';+####@+'+##++@;+.:+'. `;;;;;;;;;;;;;;;;;'';';';;'''''''';;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::::::;;;'';''';';:::::::::::::::::::::;;;;;;'';'''';;'';';'''''''''.:'';;;;;''''''''''''''''''''''''''+++'''''''''''''''''''''''''''''''''''''''';;''''''';;''';'';;';,::::::::::::::::::::::::::::::::;;;::;;;;;;;;;;
##########+##+++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++'''''''+++''''''''''''''''''''++' :';'''''''''''''''''''''''''''';;'#####+++'';++',#.:.,';` ';;;;;;;;;;;;;;'';;;;';'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::;;;;'';''''';:::::::::::::::::::;:;;;;;;;;;';;;;;'';';''''''''''';;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;:::::::::::::;:;:;;:::::;;;;;:;;:;;;:;;:;;;:;;;;
##+##+##+##+#+#++++++++++++++++++++++++++++++++++++++++++++++++++++# .++++++++++++++++++++++++++'++'++++'''''''''''''''''''''''''++' ;;'''''''''''''''''''''''''''';;;####++++#+:+'+#::#'`.`;'.`;;;;;;;;;;;;;;;;;;;;;;;'';;;;;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;'''''''';:::::::::::::::::::::::;:;;;;;;;;;;;'';;;;';';;;;;;'';;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;'';;;;;;;;;;;;'';;;;;''''''''';:;;:::;:;;;::;;:::;;;;;;;;;;;;;;;;;;;;;;;
####+#++#++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++:;+++++++++++++++++++++++++'+++''''''''''''''''''''''''''''''++'`.`''''''''''''''''''''''''''';;;+##++++##+''##+++',,#;:..;.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'';`.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;:::::::::::';;';'''''';:::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';:;''''';;;;;::;';:;;;;;;;;;;;::;;;;:::::::;:::::::::::::;;::;:::;;;::::::
######+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'++''''''''''''''''''''''''''''''+++.,`'''''''''''''''''''''''''';;;;+#+++###+''++#+++',.`:+:,..::;;;;;;;;;;;;;;;;;;;;;;;;;;;';;;;;;;;;,  :;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;:;;;;:;:::::::::::';;'''''''';::::::::::::::::::::::::;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++'';;'''''';'';;;;;;;;;::,::;;;;;;'';;;;;;:::::::::::::::::::::::::::::::::
##++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++++++++++'''+'++'''''''''''''''''''''''''''''''''''''++'`;;'''''''''''''''''''''''''';;;+#+++#####+'+++++''###,.;+'.,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:``:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:;;::::::::::::::;';;';'''';';:::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''''';'';;;';;;;;;;;:;;;;;;;;;;;;;;;;::::::::::,::::::::::::::::::::
####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++''''+''''''''''''''''''''''''''''''''''''''''+++`:''''''''''''''''''''''''''';;;#++#######+++++++'++'+'+:,+'`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;::::::::::::::::';;';'''';';:::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+:'''''''''';;;;;;;;;;;;;;'';;;;:;;;;;;;;;;;;;;;;::;::,,,,:::::::::::::::::
::##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++''++'''''''++''''''''''''''''''''''''''''''''''++'.;:,:'''''''''''''''''''''';';;;;;#############++'''''+++#'' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::;:;;;'''';';::::::::::::::::::::::::::::::;;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''+'''''''''''++'''''''''+++''+'''++.''''''''''''';;;;;;;:;;;;;;;;;;::;;;;;;;;;;;;;;;;:;;::::::::::::::;;;;;::
+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++'++++++''++'''''''''''''''''''''''''''''''''''''''''''''''+'+++++;,'''''''''''''''''''';;;;;;;+#######+#+++++'::;;;'';'+#`;;;;;;;;;;;;;`,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::;:;;;;;';;';::::::::::::::::::::::::::;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''+++'+'''''''''''''+''++++''''''''''''''+''''''''''''''';;;;;';;;;;;;;;;;;;;;;;;:;;;;;;;;;;:;;;;;;;;;;;;;;;;;;'';;
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'+++:...''''''''''''''''';;';;;;;;;+###++++++++'',,:''';'''':;::;;;;;;;;;;;;.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::;:;;;;''';';:::::::::::::::::::::;:;;;;;;;;;;;;''``''''''''''''''''''''''''''''''''''''''''''''++''+++''''++++++'+++++''++'''''''''''''+''''''''''''''''''';'';;;;;;;';;;;:;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#.++++++++++''''''''''''''''''''''''''''''''''''''''''''''''''''''+++++':.,;,`'''''''''''''';;;;;;;;;;;;'###++++++''';;''+++++#+++';:,::;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::;:;;;;''';';:::::::::::::::::;;;;;;;;;;;;;;;''''':,'''''''''''''''''''''''''''''''''''''''''''++''+++++''+++++++'++++'''+'''''''''''''''''''''''''''''''''+'';;;;'';;''';'';;;'''';;'''''';:;;;'';'''''''''''''''
+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++':,+';+';';'':''';;;;;;;;;;;;;;;;'#++++'++'++#++++++++++++++++;::;::;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;:;;;:;;;;;;;;;:::::::::::::::::::::::::::::;:;;;;'''';;::::::::::::;:;;;;;;;;;;;;;;;;''''''''''''''''''''''''''''''''''''''+'''''''''''+'++++++++''+++++++'+++++++++''+'''++'''++'+++'++'++++'''++''++++''''''''';'';'+'';'''+';''''''';''''''''''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''++++'''''''''''''''''''''''''''''''''''''''''''''''''''++++++++``.,:;:+;;;': ,';;;;;;;;;;;;;;;;;;++++++++###++++++'''''++++'''::::::;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;::;;::;;;;;:::::::::::::::::::::::::::::::::;::;;;;';;;;::::::::::;;;;;;;;;;;;;';;;'''''''''''''''''''''''''''''''''''''''''++'''''+'''''++++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''+''''''''';;;;'+'''++++'''''''''''''''''''''
++++++++++++++++++++++++++++++++++++##,:+++++++++++++++++++++'++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++',:::,,:.';;;':'';;;;;;;;;;;;;;;;;;'++++#+#+++++++'''''''''+'';,:;::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;:::;;;;;;;;:::::::;;;:::::::::::::::::::::::::::::::::;:;;;;;;;;;;:::::::;;;;';;;;;;'''';;'''''''''''''''''''''''''''''''''''''''''''''+'''''+++''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''+++++';:;;'';;'''''''+++'''''''''''''''''''
++++++++++++++++++++++++++++++++++++'#`.++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++''';';:.,';;''';';;;;;;;;;;;;;;;;''+++###++++++++''';;;;;'::';,,;::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;;;:::::::;;::::::::::::::::::::::::::::::,::::::::::::::`,;;;;;;;;';;::::;;;''';;;;;''''';;'''''''''''''''''';'`;''''''''''''''''''''''''+'''''++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+''''++++++''''''+''''''';'+++++'''+++++++++''+'
#++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';++++++++++';;';':'';';;;;;;;;;;;;;;;;;;;;''+'++#++++++++'';;::,,,,:,.':: ;,::::::::::::;;::;;;;;;;;;;;;;;;;;;:;;;;;;;;;::;::;;;;:::;:::::::::::::;,.:::::::::::::::::::,:.`:::::::::::`,;;;;;;;;``;:;;;'''''';'''''''''''''''';;''''''''''''''''''''''''''''''''+++'''+''''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+++'''''++++'++++++++';+++++++''''++++'''+++++++++++'+
#++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''';''';+++++++++++';;:::.;;;;;;;;;;;;;;;;;;;;;;;;''';++#++++++''';;::,,,,,,,.::: ::::::::::::::;;::;;:;;:::;;;;;;;:;:::;;;;:;:;:::::::::::::::::::::::::::.`:::::::::::::::::::::.`::::::::::;;:;;;;;;;;..;;;''';';''''''''''''''''''''''''''''''''''''''''''''''''''''++++'+++''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''++''++++++''+++++++'''++++++++++++++++++++
#+++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;';;++++++++++++';;;:,.;;;;;;;;;;;;;;;;;;;;;;;'';''#+#+++++'';;;::,,,,..,,`,:,``::::::::::::::::::::::::::::;:::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;:;;;;;;;;;;;''''''';;;'''''''''''''''''''''''''''''''''''''''''''''''''''''++''++++';.,'''++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''''''''''+++''''+++++++++++++++''++++++''+++++++++++
#+++++++++++++++++++++++++++++++++++++++++++++++++++''++'''''''''''''''''''''''''''''''''''''''''''''''''''';''''';;';+++++++++++++'':;',';;;;;;;;;;;;;;;;;;;;;;;;;'+'+#+++++'''';;::,,,....,`.: , ,:::::::::::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:::;;;;;;;;;;;;;;;;'''''''';''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''++++':`.;++++'++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''+'''''''''''''+++''''+++++++++++++++++''++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++'++'+''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;';';++++++++'+''''':,:;.;;;;;;;;;;;;:;;;;;;;;;;:;;++'++++++++''';;::,,..:;::,`.`,`,::::::::::::::::::::::::;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;'''''''';'''''''''''''''''''''''''''''''''''''''''''''+++'+'''+'+'++++++'++++';,:''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''',:+''''''''''''++''''+++++++++++++++++'''+++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++'+'+'''''''''''''''''''''''''''''''''''''''''''''''';;;;;'';;;;';++++++++'''''+';::,,,;;;;;;;;;;;;';;:;;:;;;;;:'#+++++++++++++';:,,:;':...`.`.:`.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;''''''''''''''''''';'''''''''''''''''''''''''''''''''''''+'''''''+'''+++++++++++'+''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''+``+'';;;;;;;;;''''''+++++++++++++++++++''''+++++'+++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''+''''''''''''''''''''''''''''''''''';''';;';;;';;;'';'++++''''+''''';:;+';;;;;;;;;;;''';,`;+',.;:;;:###+++++++++''+#+;,,;':` ,:  ,,::`,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;:;;;;;;;;;;;;;''''''''''''''''''';;'''''''''''''''''''''''''''''''''+''''+'''+''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''';';;';''';::::::::::::::::;;'+++++'++'++++++''+'''''++++++++++
++++++++++++++++++++++++++++++++++++++++'+''+++++''+'''''''''''''+''++'''''''''''''''''''''''''''''''';;';;;;;;;;;'++++++''''''';;;++:;:;;;;;;;:,.````,'+;:;,.':;'####++++''++++#+++.,''+'++   ';::.`:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;:'''''''''''''''''''';'''''''''''''''''''''''''''''''''+'''''+'''+'''+++++++++++++++'++++'++++++++++++++++++++++'++++++++++++++++++++++++++'+++++'''';;;;'';';;;;;;::::::::;;;;;;::;''+''''''''''+''+''+'''''''+++++
+#++++++++++++++++++++++++++++++++++++++++++++'+'''+++++++++++++++++++''''+'''''''''''''''''''''';';'';';;;;;;;;;'+++++'+'';::;;;++';:;;;;;;'.````..:;;''';;;;;';'#####+++''+++#++++`,,,;;;.` .'':::`:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;'``+'''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''''''''+++++'+++++++++++++'''+'''++++++++++++'+++++++'++++++++++++++++++++++++''''''''';';;;;';;';;;;;;:::::::::;:`:::::;''''''''''''''''''''''+.:''+++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+'+'''''''''''''''''''''''''';;;;;;;;;;;++++++''';:,;;;'+++;:;;;;:,``..`,;'+'''''';;;''''+#####+++';'';'''+.....```  :+';:; .:,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;'::'''''''''''''''''''''''''''''''''''''''''''''''''''''++++++''+''''''''++++++++'+++'+++++++''''+++''++++++++++++'+'++++++++++++++++++++++++''''''''';';;;:';;;;;;;;;;;:::::::;:,;::;;;:;'''''',;'''''',''''''+''''''
++++++++++++++++++++++++++++++++++++'++++++';+'+++++++++++++++++++++'''+', #''''''''''''''''''''''''''';;;;;;;;;'#+++++'';:,;;;;;+++,:;;;,.,,,,,;'':.+''''''''''''++++##+++'';;;;''+.....```  ;;'':; `,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;';'''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++''++++++++++++'+++++++++'''''+++++'+++++++++'''+''+++++++++++++++++++'''''''''''';;;;';;,';;;::::;;:,:::::::;;;;;;;;;;;;''';`:''''''.''''''+''''''
+++++++++++++++++++++++++++++++++++++++++++, +++++++++++++++++++++''''''++;'''''''''''''''''''''''''''''''';;;;'+'+++++';::;;;;;;+++.::.,.:,,::;'''::'''''''''''''+++++++++'';;::'++.`...``  `':+';:,`.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;';;;;;'''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++'''''++++++++';+'''+++++'''''+''''''+'+'+++''''''''''+++++++++++''+''''''''''''';;;;;;';:,;;:::::::,:::::::;:;;;;'';;;;;;''''''''''''''''''''+''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'''''++''++''''''''''''''''''''''''''''''''''';'+:,++'++':,;;;:;;:+++`:,,:::,,:;''';'+'''+''+++''''+++++++'+'';:,:''',`...``  ,',+';;'`.,:::,:::;;;;;;;;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;'''''''';;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++'+++++++++++++++'++''+''+'+''+''''''''+''''''++++++++'+'''+''''''''''';;;;;;;;;;:.;,:,:::.;;:::::;;;;;;''';;';;;,`'';''''''''''''''';''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''''''''''''''''''''''''''''++++++'+':.;;;;;;;:++'.,,::,::;;'''''+''''''++++';'''++++++'+''';,:''',`...``  +',+'';'..,:::;;;;;;;;;;;;;;;;;;;::::::::::`,::::::::::::::::::::::::::::::::::::::::;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'++++'+'+++++++++++++++++'+++'''''+++++'''+'''+''''+++'++'''''''''''''''''''''';;;;;;;;;;:,`,..,.`:;;;;;;:;;;;;;;'';;;;;':.;';''''''''''''';;::'''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''''''''''''''''''';'++++''++':.:;;;;;;::++'.,,::;;;''+'''+'''''''+++''''''+++++++++'';:;++'`.,..`` :+.;+'';':,`';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::::;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''++++'+++++'++'+'+'++++++++++++'++''''+++++++'++'+++'+'''''+''+++''''''''''''''''''''''''';;;;;;;;;:::. ` ` ,::;;;;;:::;;;;;;;';;;';'';;'''''';''''''';:`.;''
++++++++++++++++++++++++++++++++''++++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''''''';'++++++++';.:;;;;;;;;;+';`,,:;;'''''''+'';'''''+++''''''+++++++++'';:;''+;,..``` +:`#++';;'``,;;:::::::::;;;;;;;;;;;;;;;:;:::;:;;:::::::::::::::::::::::::::::::::;'''''''+'''''''''''''''''''''''''''''''''''''''''''''+'''''''''''''''''''''+''''''+'''++++++++++'+++++++++++++++++''+++++++++'''+''+'''++'''''''++'+'''''''''''''''''''''''''';;;;;;;;;:::,.`   `,,:;:;;;;::;;;;;;;;;;;;;;;;;;''''';'';;''';:.:;''
#++++++++++++++++++++++++++++++;.,'++++++++++++++++++++++'+''''''''''''''''''''''''''''';''''''''';;;;;;;;;++++++''';,:';;;;:;;;,+': ,,:;''''''++''';'''''''''';;'''++++++++''';''''.,...``,+`'+++';;'`:`;:,::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::,;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''+''+++'+'+++++++++'+++++++++++++++++++''++++++++'+++'''++++'''''''''''''''''''''''''''';;;;;;;;;;::,,``   `.,::;;;;;;;;;;;;;;;;;';;;;;';'''';'';'''''';;;'''
#++++++++++++++++++++++++++++++:`.'++++++++++++++++'++++''''''''''''''''''''''''''''''''''''''''''''';;;';+++++++'';,:';;;;;;;;,:+': ,,:'''''++++''';''''''''';:;'';'+++++++''''''+++'':.``+::++++''';:' `::,:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++'+''+''+++''+++++'+++++++'++++++++++++++++++'++'''+++.;'''''''''''''''''''''''''''''''''''';;;;;;;;;;;::,.    `,,::;;;;;;;;;;;;;;;;;;;;;;;;;'',,'''''''';'''''''
+++++++++++++++++++++++++++++++'::'++++++++++++++++++''''''''''''''''''''''''''''''''''''''';;;;'''';';;;++++++++''::;:;;::;:,,::+'; ,:;''+''+++'''''''''''''';::'';;+++++++++'''''':,.`` :',:++++''+,';` ,,,::::,,::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''+++''+++++'''+++++++++'++++++''++++'''''''''''+''+''''''''''''''''''''''''''''''''';'';;;;;;;;;::::.  `` ,:::;;;;;;;;;;;;;;;;;;;';;;;;;';;'''''';;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++';''''+''''''''''''''''''''''''''''''''''''';;;+++++++''';;;:::;;;,.,,:;''; ,:''+++++++''';;'';''''+';;;+''''+++++++++''';;;,.``  +,;'++''+;,+;.``:,:::::::::::::::,,,::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''++'''+'''+++''+++++'+++'+++++++'++++++''++++''''''''''''''+''''''''''''''''''''''''''''''''''';;;;;;;;;;;::,`.`.,.`:::;;;;;;;;;;;;;;;;;;;;;;;''';';''';;;;;;;;;;;;;
+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''';'+++++++'';';;;;;;,..:;;::'': ,;''++++++'''';'''''';'''';''''':++++++++++''';,.```  @:;;++;++'''':.`::,::::::::::::::::::::::,:,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''''''+++++++++''+++'++''+++++++'++'++'+++++''+'+'''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;,.:,,,,:,.;:;;;;;;;;';';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:
##++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''''''''''''''';'++++++''''';;:,.```,::::;'''; ,''++'++++'''';''';'';''''''''';;'++++##+#++';,`````` `#;;'''++'';';..`::::::::::::::::::::::::::::::::,,,,,,,,:,,::::::::::::::::,:'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''''''''''''''+''''+''''''++++++'++'+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;:;;;;:,::::::::,.';;;;;;;;''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:;:::
##++#+++++++++++++++++++++++++++++++::++++++++++++++++++++++++++++++++++++++''+'''''''''''''''''''''''+++++++''';;:''..`...,:;;';;': .;'''++#+'''';;'''';;;;;'''''';:';+++#++#+++++;:..```  `#:;;++':;;';:.`,:::::::::::::::::::::::::::::::,:,,,,,,,,::::::::::::::::::;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;:,;;::::::;':,;;;;;;;;;''''';;;;;;;;;;;;;;;;;;;;;::::::::::
##+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''''''''''''''++++++++'''',:::'.,:::;;;;'';': .''+'++':'''';;'''';;;::;;'''';:';+++++,:+++++':,.```  ` ;;:++';;;;';..`::::;:;:;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::,:''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;,;;;;;:;;;;;;:,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::,,,
##+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++''''''+''''''''''++++++++''''.,,::';;:;;;''''';'; ,'''++:::'''';'';;;;;;;;;;;''';:';'++++`,++++':..````  `  .'++:;::;';;.``::;;;;;;;;;;;;;;;;;;;;:;:::::::::::::::::::::::::::::::::;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':`;+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;''''''''''''''''''''''''''''''';;;;:;;;;;;;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::,,,,
##+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++'+''+'+''''+++++++''';..;;;;'';;;''''+++''.``';+;:;,'''';;'';;;;;;;;;;;;'';;';;+''+++++'':..`````` `     ,:':,:';;,``;;:;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;'''''''''''''';'''''''';;;;;;;;;;;;;;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,,,
######+##++++++++++++++++++++++++.:++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'+''''''++++++'''';..;'''''''';;'''+';+';, .';;;:;+''';;''';;;;:;:;;;;;;';;';'++'+'+;:,,.```````     `. ,+:,:';':. `::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::;'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;'''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:,
#########+++++++++++++++++++++++, `++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''+''''+++++++'';,,,''''+++''''''++'''+'::;;;';'''''';;''';;;;;::::::;;;';;;''''';::::,````````       ` `,:,;;';.,`,;;;;;;;;;;;;'';:;;;;;;;;;;;;;;;;::::::::::::::::::::::''''''''+'''''''''+''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;'''''''';;;;;;;;;;;';;;;;;;;;;;;;;;;;;;;;
######+###++##+++++#++++++++++++'.,++++++++++++++++++++++++++++++++++++++++++++++++'+++++'::;':.''+++++++'';:,:''''''++'''''+'''''+;.,;;';;+''''';;'';;;;;;::::::::;;'';;'''';;;::.`    `````     `.  ,.:''',.  ;:;;;';;;;';'':`:''';;;;;;;;;;;;;::::::::::::::::::::;''''++'+:;+''''+''''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;'''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;'''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
##########+++++++#+#++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#``` +'++++++''';;;:;+'''+'++'''''''''''+; :;'':''''''';;';;;;;;;::::,,,,::::;;;';;;;;,.`````````````` ` , ` ..;;''`. `;:;'''';'''''':'';;;;;;;;;;;;;;:::::::::::::::::::::'''''''+'`,++++'++''''''+''+'''''''''''''''''''''''''''''''''''''''''''''''''''++''''+'''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;';''''''''''''''''''''''''+''''''''''''''''';':.';;;;;'''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#############++#####++#+++++++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++':` .;++++++'''';;;;'+''+++++'''''''''''+; ,;';;''''''';;;;;:::::::::,,,,,,:..,,';;;;,...````````````````,``` `:;;',.  ,;;'';'''''''''''';'''''';;;;;;;;;;;:::::::::::::::;'''''+''++++'++'''++++''++++++++''''''''''''''''''''''''''''''''''''''''''''''''''+;'''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;'''''''''''''''''''''''''++'''+'''''''''''''''''''';'''''''''''''''''''';'';;;;;;;;;;;;;::::,`;::::::::::
##################+#+#####++++++##+#++++++++++++++++++++++++'`;++++++++++++++++++++++++++++. `.''++++'''''''''+'''+++++'''''''''+;+; ,;';'''''''';;;;;::,,,,,,,,,,,,:,,.  `;';:,,.......``````..,,.,,    .:;;'.` `;;;''''''';''''''''''''''';;;;;;;;;;:::::::,:,::,;''''''''+'++''++''''++++++++++++++++++++++''''''''''''''''''''''''''''''''''''''''';`'+''''''''''''''''''''''''''''''''''''''''';;;;';;;;;''''''''''''''''''''+++'+'+++'''''+''''''''''''''''''''''''''''''''''''''''';`:';;;;;;;;;;;;;;;;;:,,,,,,,,,,,,,,,,
######+##############+#+###+++##;#++++++#++++++++++++++++++'.``+++++++++++++++++++++++++++'.::.,+++++'''''''''''''''+'+;'''''+'++;+; :'';''''''';;;;;:::,,,,,..........`  ` `...``........`....:;:::;    `:;;',.` .;;''''''''''''''''''''''''''';';;;;;;;;;;:;;;;:;'''''''+++'+'++++'++''++++++++++++++++++++++++++++'''+'''''''''''''''''''''''''''''''++++''''''+++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''++++++++''++'''''+'''''''''''''''''''''''''''''''''''''''''' :';;;;;;;;;;;;;;;;::,,,,,,,,,,,,,,,,
###+++#+########+####+####++#+#'`;##++#+++++++++++++++++++++;`:+++++++++'###++++++++++++++;#++#;'+++'''''''''''''''''++'''''''''+;+; ;'''''''''';;;:::,,,,,.......```````````     ````  ```...`.;;;::.``  .::;'.`  :;''+++++++++++++++++++++++''++++++++++++'+'''''+++++++':'+'+'''''+'''+++++'+++++++++++++++++++++++++++++''''+'+'''''''''''++''''++''++'+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+++++++++'++''++++++++'''''''''''''''''''''''''''''''''''''''';;;;;;:::::::::::::,,,,,,,,,,,,,,,,,
###,`################+####++####;####+#++++++++++++++++++++#+++++++++#+#,###+++++++++++++++++++''+++''''''''''''''''+'+';'''''''+;+; ;';''''''''';;:::,,,....`````````  ` `       ````     `` ````.,;;`,`  ::;':.` `';''+++++++++++++++++++++++++++++++++'++++++'+++++++++; ;++'+++++++'''++++++++++++++++++++++++++++++++++++++''++''''+'+'''+++++++''''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''+++''''''''+++++++++'+++''++++'++''''''''''''''''''''''''''''''''''''';'';;;;;;::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,
####+###########+####+#####++##+###+##++##+++#++++++++++++++#+#++++++++++##+++++++++++++++#+++'+++++'''''''''''''''''+';'''''''++;'; ;''''''''''';;:,,,,.````````````               ``       ``````` ,;;`  `:;;',`` `';++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++''+++++'+++++++++++++++++++++++++++++++'+'''''+'++''++''''+'''++''''''+'+'''''+'''''''''''''''''''''''''''''''''++++++'+''++'''++++++++++++++'+++++++'''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;::,,,....,.,,,...............,,,,
############+##############+###++#+++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++'''+;,'''''''''''''''++::;''''+'''+'+;`;''''''''';;;;::,,,,.``````````                              ```.````  ,:;';,```:;'+'++++++++++++++++++++++++++++++++++'++++++++++++++++++++++'++++''+'+'''+'+'+++++++++'''+++++++++++++++++++''+''+''+''+''+''+'''++'''''+'++''++'+'''''''+''+'+'''''++''''''+'++++'+++++'++'++++++++++++''+++++++++'+++''''''''''''''''''''''';;;''';;;;;;;;;;;;;;;;;;;;:,,,.........................,.,,
#########################++#+##+##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''+;:''''''';;;;''+:;';;;''''+'''''+;`;';''''';;;;;;::,,,,,.```````````                            ``;'` ``` `;:'':.`  ;'''+++++++++++++++++++++++++++++++++++++++++++++++++'++++++''++++'++++'''''''''++''''''++++''++++++++++++''''+++++'+'''++++''++''++++'+'++++'''''''''+'''++'++''''++''+'''''''++''+'++++++++++++++++++'''++'++++++++++'''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;::,,,,,........................,.,,
############+#######++#####+++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''';;;;;;''+++,:'';:''''+'''''';`:;;''''';;;;;;::,,,,,..``````````                          ` `'+``` ``  :;;'':`` `'''+++++++++++++++++++++++++++++++++++++++++++++++++'+++++'+'++++''.'+'''''''''''''''''+'''''''''''''''''+'''''''''''';'++++'++'+''++++'++'''''''+'++++'++++'''''+++'+''+''+''+''+'+++'++##++++++'++'++''+'++++++++++'''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,.....................,,,,,
##############+######+###:+###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';''''';''+++++++,:''';''''''''''+;`.;'''''';;;;;;::,,,,....```````````                         `;';`.````` `:;'';:.` .'''++++++++++++++++++++++++++++++++++++++++++++'+'+'''++'''''+''''`'+'+'''''''''''''''''''''''''''''''''''''''''''';..;''''''''++++++''';'++'+''''''@@#++++##''''#@+'+'+##''+'#@+'';'++'@+++'+''''+#@@@@#''++''''''''''''''''''''''''':''''';,';;;;;;;;;;;;;;;;;::,,,,,,,,,,,,,.................,,,,,,,,
#######+####+++##+######+ ;#++++#++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++''''''++++++++++::''';''''''''''+;``'''''''';;;;;::,.,,,....`````````                         `,;',..````` `;;;'';.`` .'''+++++++++++++++++++++++++++++++++++++++''+'''''''''+''''+'''++#+''''''''''''''''''''''''''''''''''''''''''''''':``:;'''+''+''+''+++''''++''''''@'+@'++#'@'''@'+#'+++'@'''@'+@'' `+#@@@#''''''+#+@+'@+'''''''''''''''''''''''''''';`''''''.';;;;;;;;;;;;;;:::,,,,,,,,.,,,,.,,..,.,...,,.,,.,,.,,,,,,,
######++##+++++###+###+##+#+###++++++##+++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++::''';''''''''''+;`.''''''''';;;:::,.,,,...```````````                         ';'`,.`````  :;;''';.`` :;''+++++++++++++++++++++++++++++++++++++++''''''''''''''''''''''+'''''''''''''''''''''''''''''''''''''''''''''''';,,;'''''''''':,+'++++''''+''''##'+#+'#''@+'+#++@''@''@''+#'+@'',;''@'''''''';@'+@@'@''''''''''''''''''''''''''''';''';;';';';;;;;;;;;;;:::,,,,,,..........,.,..,,,,..,.,,.,,,,,,,,,,
##########+++++#+#++##+++#####++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::''';''''''''''+; ,'''''''''';;:::,.,,,.....``..`````                        :::;`,...```` :;;'''';.`` ;;'++++++++++++++++++++++++++++'''''''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''+'';;''''''';;#'+@;;#';@'''@@@@''@';#'''@''@''@''#+''@''@''@''@+'''''#@@@@@+''''@'#+'+#'''''''''''''''''';;;;;;;;;;;';;;;;;;;;;;;;;;;:::::,,,,,,,..........,,,,,,,,,,,,,,,,,,,,,,,,,,,,
#########+++#++##+##+####++##++++++++++++++++++++++++++++++;++++++++++++++++++++++++++++++++++++++++++++++++++++++::'++;'';'''''''+' :'''';''''';;;::,,,,,..,,,,,.``````                       .;;':.,...```` ,;;''''':.`  '''++++++++++++++++++++++++++'''++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''''''''''''@+'++''@';';;;#';';'#+@@;;'@'@+;;@'#@;''@+#+''@'@@'''+''#'''''''''++'@@@++'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,,,,,..,...,.,..,..,,,,,.,,,,,,,,,,,,,,,,,,,,,,
########################+#+++++++++++++++++++++++++++++++#: +#++++++++++++++++++++++++++++++++++++++++++++++++++++::'++;'';'''''+;+'`:''':;'''''';;:::,,,,,,,,,,.``````````                    '''+.,,.,..``` ,;;;''''':.` `'''+++++++++++++++++++++++++''''++'+'++''''++++++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''@+'+'''+@++'''@';;;:;:@';;;;;@;:;;;@';;;;'@;';''@'''';'#@@@@;'''''@;'@';@;;'';;;;;;;;;;;;;;;:::;::;::;;;:::::::::::,,,,,,,,,.........................,.,,,,,,,,,,,,,,,,,,,
################+#`.####++++++++++++++++++++++++++++++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++''::++#;';;;;;;'';+' :';,;''''';;;:::,,,,,,,,,...``````````                   :''++.,,,,..``````;;;;''';,.` `+''+++++++++'++++++++++++++'++++'''++++''++++++++'+++'''++''''''''''''''''''''''''''+;;'''''''''''';'';'''''''''''';;'''##:;+''''+@'''+@''++''##';;;;@::.:;++:::;;@;;;';#';';;';';+#'''';;#''+';;@;;;;;;;;;;;;;;;:::::::::::::::::,,,,,,,,,,,,..........................``..........,,,,,,,,,,,,,,,
####++##########+#,;###+#+++++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++'+''#:,,..,::;;;'''+;+' ':,:''''';;;:::,,,,,,,,,.............```                `''''+.:,,,,..``  :;'';''''',,.``+''++++++++'+++++++++++++++++++++++++''''++++++''''''+'''''''''''''''''''''''''''''+``+''''''';'''; .'''''''''''''';';;'#:#;;;#'+#;''#+;';;;#+;;';'@;';,,#;,,,,;@,:::;@';;;;;``@'';;;;;;'';;@;;+';;;::::::::::::::::::,,,,,,,,,,.......,.,.............................``..........,....,,,,,,,,,,
####+###++++##++#+#######++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++'+'+#``,:;;;;;''''''';+; ,.,;''';;;;;:::,,,,,,,,..,,,,,,,,,..````                ;'+++;.:,,,,..`` ..';';;'''';:,``.'''++++++++++++++'++++++++'''++'++++'''''+++++'''''''+'''++''+''''''''''''''''''''';;'''''''''''''`:''''''''';;;';;;;;;'';;;;;;;;;;;;';;;;';;;;;;;;;;;;''..,.,,...,,:::,::::``@@::::::';;::;;#@;:::::::::::::::,,,,,,,,.................................................................,,,,,,,,,
####+###++++++++##++#########+++++++#++++++++++++++++++++++++++++++++++++++++++++++++++' `''+++++++++++++++++#;. ..,::;;;;;;;;;;':+' `.:;'';:;;;;:::,,,,,,,,,,,,,,,,,,.......`              ,''''#,,:,,,,,.`````+;;';;'';';,,.`.'''+++++++++++++++++++++++++++++++'''+''''+++++''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;:;;;;;:;;;;;;;;;;;;:::,.`..............,..,,,#,,,,,,,::::::';:::::,,,::::,,,..........`````.`....```...```......```....................................,,,,,,,,
##+++###++++++++##++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,`;++++++++++'++++:. ``,,,,,::;;;;;;;;;;;:+' .:;;:,,,:::::::,,,,,,,,,,,,,,,,,,,,,,,,..```           '''+++,:::,::,..```.''''';;'';';:,. ,''+++++++++++++++++++++++++++++''++'+++'''+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''';';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::;:;::,...``..``...`.`....`..`............,,,,,,,,,,.,..............`.````````````````````````````````````````...............................,,,,
##+#####+##+++++#+++##++#####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++'++'.`.,.,,::::;;:,,;;;;;:::::+' ,:::::,,::::::::,,,,,,,,,,,:,,,,,,,,,,,,,.``          ;''+++',:;:,::,,..`..;;'''';;'';':,,, ,+''++++++++++++++++++++++++++++++''+++++++++++''++++'''''''''''''''''''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;::.,::::;::::,,,,,:;;;;;;;::;::,,.....,,...........................`````````..`.````````````````````````````````````````````.............................,,,,
##+########+#+++#+++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++.,...,:,,;;;;:::,.`.,,,,::,+; .,,::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,..`        `+''+++;,:;:,:;:,.```..''''';;;'''';:,,`,''+++++++++++++++++++++++++++++++++++++++++++++++++'+''''''''''''''''''''''''''''''''''''''''''';'';;'''';';;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::,,:;;;;;;;;::;:::::::. .......`.....`............``````````````````````````````````````````````````````````.............................,,,
##########++###+####++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#'.,,:,..,,::;;;::::::,,,:::;,'; `.,,:,,,,,,,,,,,,,,,,,,,,,,:,::,,,,,,,,,,...``     ` '++++++:,;;:,:::,.````:'''''';;'''';:::, .++'+++++++++++++++'++++++++++++++++++++++++++'+++'''+'''''''''''''''''''''''''''''''''';'';;;;;;';;;;';;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;:::::;;,,,..,::,,`,;';;:;:;::;:;;;,,,.:. `..``....``..`..``````````````````````````````````````````````````````````````...........................,,,,
##+###########++####+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'.....,,,,,,..,,:::::::;;;;;::,'; ..,,,......,,,,,,,,,,,,,,,,:,`:,,:,,,,,,,....``     :''+++++::;;:,,::,.````';'''''';;;'';;;::, .+''+++++++++++++;.'+++++++++++++++++++++++++'''++''+'''+++''''''''''''''''''''''''::';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;::::::::;;:;,`..:;::.`,,;:::::::::::::,..` `````````````````````````````````````````````````` `````````````````````````````........................,.,,
##+##########+++++++++++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'`...,,.,::::,.````..,:;;;;::,,,'; ```..`......,,,,,,,,,,,,::::,::,,:::,,,....,.``   ``'''+++++::;;:,,::,.````+;;'''''';;;';';::::` #'''+++++++++++,`++++++++++++++++++++++++++++++++'''+++''''''''''''''''''''''''''.`;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::,```,,,:::``.::,,.,........,.`` ``````````````````````````````    ``````````````````````````````````````````````........................,.
##+###+#####+++++++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'..,,,,,,:::,,,......``..```````.'; ` ````.......,,,,,,,,,,,::::,:::::::,,,.,,,.``` `  ;'+++++++,:;;:,,::,..` .'';'''''';;;;;;;;:::,``++'''++++'+++++'++++++++++++++++++++++++++++'++''+'''''+''''''''''''''''';;;'';';:';;;;;;;;;;;;;;;;;;;;;;;:;:::::;;:::::::::::::,::,::.,:,,::::::,,,,,,:::,,`.,,::,,,..````````   ```````````````````````         `  `````````````` ````````````````````````````.......................,.
##++##+#####+##++++++##+++++#+++#+##++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++#'`,,,,,:::;::,..........````     .';    ``````.....,,,,,,,,,,:::::::::::,,,,,,,,.``  ` ,''++++++',:;;:,,:::.`` ,'';:;;;;''::;;;;;;::::, '+;''''''''''''''+++++++++++'++++++++++++++'++'++''+'+''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::,,,,,,,,,,,,,,,,,,.....,,.......```.,........````     ````````````````    ````    ````    ````       `    ````````````````````````......................,,
############+##+++++#+++++++++++#.#+++++++++++++++++++++++++++++++++++++++++++++++++++++#+++'++.,:::...,:;;::,,.......````       .';    ```````.....,,,,,,,,,,,::::::::,,,,,,,,.````  .'''++'+'';,::;,,,::,..` .+';;;;;;;'';:;;;;;;:,::, .`:'+'';;;'+';;''''''''++++.+++++++++++++''''+''+''+'''''''''''''''';;;;;;;;;;;;;;;;;;;;;:::::;;;;;;;;::::::::::::::::,,,,,,,,,,,,,,,...................` `..`` ``````....```````         ````````     ````                            `````````````````````````....................,,,
####+##+####+##+++++#+++++++++++#+#++++++++++++++++++++++++++++++++++++++++++++++++++++.`'+++',:::,,.,:::::::,,,,.,...````       .';   ````````......,,,,,,,,,,,::::::,,,,,,,,.`   ``.':;;''';;':,.::,,,:;:,``` '++;;;;';;'';:;'''';:,..:``  `..`,;;..`,''''';;;''+++'++++++++++''''+..+'''+:'''''''';;;';';;;;;;;;;;;;;;;;;;;;;;;::::::::;:::::::::::::::::,,,,,,,,,,,,,,,,,,,.........`````````` ``````````````...``````            ````                                 `     `  ``````````````````````...................,,,
###++##+####+##+++++++++++++++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++'  :+++,::,,,,.,:::::::,,,,,,,..`.``       .';   ``````````...,,,,,,,,,,,,,,,:,,,,,,,,,```   `,+;;;'+;.,.`,.`.,,,,:::,..`` #+'';;;';;'';;;'''';;:..,   `.`.`....``.```,,,;;'''''+++++++++'+''''+++'''','''''''''''';;;;;';;;;;;;;;;;;;;;;;;;;;:;::::::::::::::::::::::,,,,,,,,,,,,,,,::,,,,......`.````````````````````  ```````````````                                             `        ``````````````````````...................,,,
##+#++++#######+++#++###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++',.'++.:'';;:..::;;::,,,:,,,,,.,,....``````.';`  ``````````...,,,,,,,,,::,,,,,,,,,:,,,```````;':.` ```````,,.,,,,,:::,.````;+'''';;';;'';::;'''';;,.``   ``.......,..`````,;'';''''++'++'++''+++++'''''''''''''''''';;';;;;;;;;;;';;;;::::;;;;;::::::,:::::::::::,::::,::,,,,,,,...,.,,,,,,,........`````` ````...````````   `````````````                                                     ```````````````````...................,,,,,
##+#++++++++#++++++++###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::;''';;,,,::;;:::,,:::,,,,,.,,,...```.';`  ``````````....,,,,,::,:::::::::::,,,..```.`````..`...,,,,,,,,,,,,,;:,..```:++'''';;';;'';;::;''''';..`     `..........```    `'+'''''+'+'++++++''''''''''''''''''''''';;;;;;;;;;;;;;;;:;:::;;;:::::::,,,::::::::::::::::,,,,,,,,,,,.......,,,........````````  ````````````    ``````````                                                 ` `````````````````````...................,,,,,
##+###########++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;::::;;;;:,,:::::::,,,,,:,,,,,,.....``.';`  ``````````....,,,,,,:::::::::::::::,,,....````.....,,,::::::,,,,,,:::..`  ,+++'''';;;;;';;;::;'''''';.        ``.,.,,,...````` `,:'''''''+'+++''''''''''''''''''''''''';;';;;;;;;;;;;;;;;:::::::::::::::,`,;:::,:::::::,,,,,,,,,,,,,,,,......,,,,,,..``````````   `````````````  ````````                                                   ````````````````````..................,,,,,,,
##+#########++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;:,,::::;;;:,,,,::::::,,,,,,,..........,';  ``````````....,,,::,:::::::::::::::::,::,.`...,,,,,,,,,:::::,,,,,,,:::..`  .'+'''''';;';;;;;::,:''';''''.  `       `.,,,,,,..`` `   .'''''''''''++''''''''''''''';;;;;;';;';;;;;;;;;;;;;;;;;;:::::::::;::;'.,,,::::::::::,,,,,,,,,,,,,,,,....````......``````````   ``````````.````` `````                                                   ````````````````````..................,,,,,,,
##+###++####++++++++++++++++#++#++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++;.,::::;;;;';,,,,:::::::,,,....,,,,,,,,.';` ``````````....,,,::::::::::::::;:::::;'.``...,,,,,,:::::;:::::::,,,:::,.````''''+''''';;;;:;;:::.:'''';;';:````  ```  ``.,,,,...```   .,+'''''''''''''''''''''''''';;''';';;;;;;;;;;;;;;;:;;:;;::::::;;;:::::,.,:::::,,:,,,,,,,,,,,,,,,,,,.......````````.````````` `````````````.``  ``  ``                                                  `````````````````````.................,,,,,,
##+###++####++##+++++++++++++++'#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,:,:::;;;'';,,,,,,:::::::,,,,,,,,,,,.,';`  ```````.....,,,:::::::;;::;:;;;;;:;':``.,,,,:::::::::;;':::::::,,,:;,,.`.` ;'++++'''''';;;:::::,,`;''';;';:,..`````````   `,:,,.````    .:;'';''''''''''''''''''';''''';;;;;;;;;;;;;;;;:;,;;:;:::::::::::::::;,.,::,,,,,,,,,,,,,,,,.,,.`..........` `````````````` ````````````````    ````                                                 `````````````````````.................,,,,,,,
##++###+++++++##++++++++++++++.`'#++++++++++++++++++++++++++++++++++++++++++++++++++++++++.:::,:::;;;;'';:,,....,,,:,,,,,,,,,,...,';` ````````.....,,,::::;;;;;;;;;;;;;;;;``.,::::::::::::;;;;':::::::,,::;,,,.,  :;'''''''';'';;;:::::,,..;''''''';:.``..,`.``..`   ``,,,.`` `   `.;'';'''';'''''''';''''''''';;;;;;;;;;;;;;;;:`;;:;:::::::::::::::,::.`,::,,,,,,,,,,,,,,,.,..,`........```  `````   ```  ```````````   ````` ``                                               ````````````````````````..................,,,,,,
##++####++++++++++++++++++++#+. '++++++++++++++++++++++++++++++++++++++++++++++++++++++++`,::::::;;;:;;;;;;:,,..................`,';` `````.......,,,:::;;;;;;;'''''''';,,,,::::::::::::;;;;;'',:;::::,,::::,:.,``,'''''''''';;'';;;:,,:,,..`:'++'''''';:....,.....```   .,,,.```     ,;';;''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;;;;;;;:::::::,,,:::::.`.:,,:::,,,,,,,,,...,.,,.,.,....``````````   `  ```````````   ````````  ``                                             ```````````````````````..................,,,,,,
##+###++#+++#++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'.,::;:::;;;;;;;;;;;;:,,................`.';` `````.......,,::;;;;;;''''''''':,,...,,,.,:::;;;;''''';;',;;:::;,,,::;.:,.` `;;'+''''';;;;;''';:;:::,:,``.:#++''''''':``.,,.....,.`   `:,,..```    `.;'';;;;'''''''''''''''';;';;;;;;;;;;;;;;;;;;:::::::::,,:::::,,,:..,,:::,,,,,,..,,,,,,,,.,,,....`````````    ` ``````    ``..`````````````                                           ` ``````````````````````..................,,,,,,,
##+##+++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#,,::;;;:::::;;;:;;;:::,,,,,,,...........`,';` ```......,,,,:::;;''''''''+'';;;::,:;;;;;;;;;;;'''''''''+,;;;;;;:,,:;;.:;`.` ;;''''''''';;;;;;'';;;::::::,..,;++'''''''':,` .,,..,,,,.` `.:,,..`        .,;;:;;;'''''''''''''';;;;;;;;;;;;;;;;;::::::::::,,,,:,,,,,,,:,..,,,,,,.,,,,,,,,,,,,.,,.....````````````....```` ``````.`````````````    `                                         ``````````````````````..................,,,,,,,
##########+##++#++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.:::;;;;;;::::::;:,,,,,,,,.........,,,...,';` `.......,,,:::;;'''''''''';;;;''''''''''''''''''''''''+'.,;''''';,,::;.+,.`` ;;'''''''''';;:;::'''';;;;:;;;;:,,.;++++''''+' ;.,,:,,.,,::,``,:,,,,.`        `;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::,,,,,,,,,,,,,,.,```.,......,,,,,,.`.........``.`........```.``.`````````````````````    ``                                      ````````````````````` ````................,,,,,,,,
##########+#+++####+++++++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++,,::;:;;;;;;::::::,,,..`...,,,,,,...,,,,,,,';```...,,,,,::::;'''''''''''';'''+++++++++'''+++'++++++++'.,,;'''''':,:::,,`.`` :'''''''''''''' ;:,,;'''';';;;;;;;;::::;''+'''+'';;;:::,,.,:;:``,:,,,,,.`       `:;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::,,,:::,,:,:,,,,,:,...,.....................```...........``.....```````````````` ````                                          `````````````````````  ```.................,,,,,,,,
####++###+#++++#+++##+++++++++++++++++++++++++++, ,#+++++++++++++++++++++++++++++++++++.::::;;;;;;;::;::,..``..,,,,,,,,,,....,,,,,+'``.,,,,:::::;;;'''''''''''''+++++++++++++++++++++++++++::,,:''''''+';:::::...`  +''''''''''''''';:,,`;+++'''';;';;'';;::::;'+'''''';;;,,,.,,:;:.`::,,,,..`       `;::;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::,,,,,,,,,,,,.,``.,......``................``............`.```````````  ```  ````                                           ```````````````````````..................,,,,,,,,
#########+#+++++++++++++++++++++++++++++++++++++. ,+++++++++++++++++++++++++'#++++++'#:::::;;;;;;;;::;:.````.,.`....,.,.,,,,..,,,.''`.,:::::::;;''''''''''''++++++++++++++++++++++++++++#+;':,::''''++++'';;.`'`.`` +;''''''''''''''''';:,.,;'''''''''';;''';;;;;;;;;;'''''';:,,,::,,,;::,,,...`        .;:;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::,,,,,,,...,,,`..,,..,...`..............................````````````````.``                                             ```````````````````````..................,,,,,,,,,
####++++#+#+++++++++++++++++++++++++++++++++++++';'++++++++++++++++++++++++++' '++++++.;::;;';;;;;::;;.`````..,:::,,,::,...,,,,,:.+'``,:;;;;;;;''''''''''+++++++++++++++++++++++++++++++:;'::::;'''''+++';:,`;+;``` '''+''''''''''''''''''';,::'''''''''''''''''';;;;;::::,,:;;,,:,,,.:;:::,....``        ;::;;;;;;;;;;;;;;;;;;;;:::::::;::::,::::::::::,,,,,,,,,...,..,,,......,,,,,,........................`````````.`.``.` ```                                           ````````````````````````...................,,,,,,,,
######++#+#+++++++++++++++++++++++++++++++++++++++#+++++++++++++++++++++++++++:++++++:,::;;'';;;;;;;' .`..,::,.,,::::`..::,,,,,,:.+'`.::;;;;;;;''''''''+++++++++++++++++++++++++++++#++::+;::::;;''+++++';:,`';;, ` ;++'''+'''''''''''''''''''';;;''''''''''''''''''''';';;;;:,,,,,,.,.:;::,,,,...``       .::;;;;;;;;;;;;;;;;;;;;:;;;;:;:::::::::::::::::::::,,,.,,,,....,,..,,..,,,,,..........``.....````....`````````````                                               ``````````````````````....`.................,,,,,,,,
##+###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+#++++++++#,;;;;;;';;;';':`,.::,.       `.;':...::,,,,,,''``,:;''';''''''''+++++++++++++++++++++++++++++++#':;'':;:::;;;''''+'':::.';:;,  ,.,+'+''''''''''''''''':.:''''''''''''''''''''''++''''''''';::::::,::::,,,,,....`        ,::;;;;;;;;;;;;::;;;:;;;;;::,,,::::,,,:::::.,::::::,,,,,,,,,.,,,,.,,..,......,,,,,,........,,,,.....```````````````   `                                        ````````````````````..````..................,,,,,,,,
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;,;:;;;;;;;'''`.':;:`         ````:';,.,,,,,,,+'`.::;''''''''''+++++++++++++++++++++++++++++++++::;;':;';::;;;;''''';,::,';:.:, `''+'''''''''''''''''''. `'''''''''';''''''''''''''''';;::::::;;;::;:::::,...,.`..`       `:::;;;;;;;;;;;;;;;;;;;;;:::::::::::::::,,:,,:::::,,,::,,,,..``.,.,.`.,...``......,,,.....,,......````````..````` `                                          ```````````````````````````...................,,,,,,,
+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#`:;;;;;;;;;''`,;..```          ` `  ;':.,,,:,,+'`.::;''''''''+++++++++++++++++++++++++++++++++++;';;;;;;;::;;;;';'';:::,:';:.`.,`';'''''''''''''''''''',`.'''''''''''''''''''''';;;;;;:;;;;:;;''';;;;;;:,,....,.``.`       .:::;;;;;;;;;;;;;;;;;:;:::::::::::::::::::::::::::::,::,,,` ..``........``..````.........,,.....````    ````````     `                                     `````````````````````````......................,,,,,,,
'#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#;'+++++++;,:;;;;;;;;';`,; ``````````       ` ` :':.,,,,.';`.:;;'''''''+++++++++++++++++++++++++++++++++++;;'++''';:,:;;;;';'';::;.;;;:..`.. +''''''''''''''''''''';''''''''''''''''''';;;;;;;;;;;;;;;;''''';';;;;;:,,,....,.````       ,::;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::,,,,,,,,,.`...```.````  ` ``  ```.,,,,,..,,...````````````````  ``  `                                   ````````````````````````````...`..............,,,,,,,,,,
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++# .++++++#.:;;;;;;;'';::..':::.`   ```     ```  `;'`..,,,+;`.:;;''''+++######+++++++++++++++'+'+++''++++#+:;:,,,,:,,::;;;''''';:;,.';;:,.``` ,'''''''''''''''''''''''''''''''''''''''';;;;;;;;;;;;;;''''''''''';;;;';:,,...,,.````       `:::;;;;;;;;;;;;;:::::::::`,;,::::,.::,:,::,::,,,,,,,,,,``` ` `     ``..`      `..........``````````````````                                          ```````````````````````````....................,,,,,,,,,
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'#++++++'.:;;;;;;;;'::.,:.....,,.   ```     ````:':`...,+;`.:;;''''+#####+##+++++++++''''''''';';;'''+++',,,::::::::;;''';;;;::,`::;:,````` `;;;'''''';;';'''''''''''''''''''''''';;::;;;;;;'';''''''''''''''''';;';;::,.```..````       `::::;;;;;;;;;;;;;::::::,   ` :,  ` .::,:::::::,,,,,.` `````  ```,:,'''',`    `.,,.,,......``````````````   ``                                       ```````````````````````````.................,,,,,,,,,,,,
##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++#`:;;;;;;';;;;::...```` ``,.   ```    `` .'+,`.`,+:`.:;'''''++####+##++++++++';;;''';';'';;:;;+++;.`,;:::::::::::::;:::,`.,`,,.````  .;;''';;;;;'''''''''''''''''''''''';;;:::;;;;;;;'';'''''+''+''''''''';;;;;:::,.`.,..```       `:::;;;;;;;;;:::::::::`` `:`  ,;.:: ..;:::::,,,,:.` `,.,:;`;`.;;'''''+'+;:``  .....,,..,,.``````````.```                                            ``   ```````````````````````.................,,,,,,,,,,,
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++;,;;;;;;;;;';:;: ,.`````` `:,   `.``   `` :'+`..,+:`.:;'''''+++++####+++++++';'''';:::;::.:;;;''++..:''';;;;;::,,:;;:,.`.,`,..``````,':;';;:;;;;;';;;'''''''''''''''''';;;:;;;;''';;;;;'''''+++'++''''''''';;;;;::::,``...````      `:::;;;;;:::;:,:,.```,,'+''##++;'+;+:.::,,,,,,,,:''';;+'++'+;;'++++++#++''.  `.....,........````````                                               ``    ````````````````````.``................,,,,,,,,,,,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#,:;;;;;;;;';.+'::,.```````` :.   ..`     ``'',`.,+;`.:;'''';++++++###+++++++::;;;,,..,:,,,:;;;''+++:''''''''';;:;:':,``:....``````` ,';;;;::;;;;;;;;';;;;'''''''''''';;;;;;'''''''''';;''''''''''''''''''''';;'':::;::...,.`````     `::;;;;:::;, ` ` :#+++++++++''++++'#`,,,,..`,+++++'++++++++++++++++++++++,`` `...,..............``````` ````                       ```````       `````````````````````````````................,,,,,,,,,,,,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'.;;;;::;';;:,+'':,.``````````: `  .`     ``:':`.:+;`.:;''';:;'++++###++++++':::;::;;.,,,:..:;;''++++'''++++++'';'.:``:,, ``````````  ,;;;:;:;;;;;;;;;;;;;;'';;;;'''';;;;;;''''''''''''''''''''''''''''''''''';;;;::;:::,....`````      :::;:;:: .;+++''++++++++++++++++++`:,:,;'++++++++++++++++++++++++++++++++`, ........,..........```    ``                         ```````      ````````````````````````````.................,,,,,,,,,,,,,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.:;;;:::;';:,++''':.``````````,,`` ..`     `.'+``,+;`,:;''';;,+''+++##+++++';':::;';';:';:,,;+#'''+++'++++++++++;;';#,,..  ````````` :;;;::::;;;;;;::;;;;;;;;;;;;;;'';;;;;'''';;;'''''''''''''''''''''''''''''';;;;::;:::,,,..``````     :::;,:`+#+++++++++++++++++++++++#:,,,+#++++######++++++++++++++++++++++#,+; .``..........```.````    `               ``        ````````    ```````````````````````````````................,,,,,,,,,,,::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':;;;;::;;;::;+''''':``````````.:`.  ..`     .'+``,+;`::;''''+;:.,+;###++++++';;::.`+`.::,;'#+++##;+'`:+++++++++++':'.,..```````````` :;;;:::;;;;;;;;;;;;;;;;;;;;;;;;';;;;''''';;;;'''''';'''''''''''''''''''''+'';;;:;;:::,,,.```.```     ` `,,++'+++++++++++++++++++++#+@+.;'#++++##########++++++++++++++++++++,@;+.``.......`.``    `.```  ``         ``` ```````````````````  ``````````````````  ``````````...`..............,,,,,,,,,,,,::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+::;;;;:;;;:;.''''''';,`````````.; ``  ,`     .'+``,+;`::;'''++++;'+:#'#++++:,;;:;:;``';`.+++'+##++;+:''+++++++++++#+.,..`` ``  ` ``` ,';;;:;;::::;:;::;;;;:::::;;;;;;';;;;''';'';::::::;';'''''''''''''''''''''''';;;;;;;:::,,,.```..`    `:'+++++++++++++++++++++++#+##',`,'++++#########++++++++++++++++++++++'',##,+` ````..``.      `` ``    ``  ``    ````````````````````````````````````````````````````````.`..............,,,,,,,,,,,,,,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+',::::::;;;:'`+''++''':.`````````;` .  `.    `.+;``:+;`,::''#++++++++#;#++'+';';,.` ;'``:+++'',`;@++';++++++++++++++.,..``````   ````:;;;;::::::::::::::,:::::::;;;;;;;;;;;;'''';'';:,,,,;;;'''''''''''''''''''''''''';;;;;;;:,,:,``...`    `';''+++++++++++++'+++++#';,;;;''++++++#+++++++++++++++'+++''++''++++'+:##';+`` `.....````````````````````````````````````````````````````````````````````````````````.````.............,,,,,,,,,,,,,,
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,:::::::;;:;:`+''++''';:.```````.;. ``  .`   ` ';.`:+;`,::;+#+',++++###+++;,.;;;.`:':`:++++'''.  ++++++++++++++++#+,,..````````  ``..;,:,;::,::::::::,,:,,,:,,,:''''';;;''';;;;''''';,....;;;;;'''''''''''''''++'''+'''';;;;;;;:::,`..,,``   :''+'++++++++++++'+++#',,;''''+'+++++++++++++++++'+''';;;:;;;;;;'''''+:##+;#.;. ``....``````````````````````````````````````````````````````````````````````````````..`` `.............,,,,,,,,,,,,,:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++,,::,:::;::':.'''+++''';,``````.,;,  .  `.   `.,,.`:+;`:::'####'+++##+++++;.;:#``+,,.++++';'''':`;++++++++++++++#',,.````` ``````.`...`.,:,,..,,,,,.....,...,:;'++++''';;'''';;;;''''',.``:;;;;;''''''++'''''''++''+'+';';:;;;;::::.``,:,``   ;+''++++++++++++'+#,  ;'+++'++++++++++++++''''';:::,,:::::::::;;;'''';##;;+';;:,.````````````````````````````````````````````````````````````````````````````````.....``.............,,,,,,,,,,,::::
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''+;.:,,,::;:::',,'+++++'''':.`````:';: `.  `.   `.;'``:+;`,,;####++.#+++++++++++++;#: ';++++:;''++++'''#++++++++++#',,.``````````.`.,,.````,,....`.....`..,..`;;;++++++'+'''''''';;;;;;'',:,.,:;;;;'''''++'+'''+'''++'++'+''';:'';;:;;;.``::,``   #'+'++++++++++##,`,'+''++''++++++++++++'''';::::,,,,,.,,,,,:::::;;;;+#;:+++';;;'.```````````````````````````````````````````````````````````````````````````````.``...............,,,,,,,,,,,,,::::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++`,,.,::;;:;;+.:'+++++'''';,.`````;':  .  `, `` .''``;+;`,:#++++++,;+++++++++++++++:`+'++++,;''''+++++++++++++++#',,.`````````....:,,..``.,..........:,::,` ;:;+++''''#+''';''''';;;;'';:#  `:';;;;''''++++'''''''+++++'++'';::;';;;;';.``:,..`  `++++##,:+#:+#:,++';'++++++++++++++++'+''';::::,,,,,,,,,,,,,:::::;;''#;++++''';;;.`` ``````````````````````````````````````````````````````````````````````````...................,,,,,,,,,,,,:::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++`.,:::;;:;;;+.''+++++++'';:,.`````':  .   ,` `` ''``;+;`:+++++++#+++++++++++++++++++++++++.:;'''''+++,+'+++++#+;,,```````````.,:.,,::,,,,..,...,....,...``;,'+'''++;.,#+''';'';;''';':'':;''`:';;;'''''''''''''+''++++++++'';:,;';;;;;:```:..` ` '++:````'::;`,';++++++''++++++'';;;;'+'';,,,....,,,,,,....`.,:;:::''#;+++++'''''';,,`````````````````````````````````````````````````````````````````````````..................,,,,,,,,,,,,,,:::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,`:::::;;:;;'+.''+++++++'';;:.`````::  .` `,` `` ;'``;+'`'++++++#+#++++++++++++++++++++++++:,;''+++++;+++'+++#+;,.``````````..:'`.....`.,.....``....,,,,.`+;+'+''''++``;+++'';''';;'';+'';;:,+,;;;;''''''''''''''++''+++++'+'';::'';;;';,``.,.`  ` :,;';';'''''';++'++''++++''';;'''+++';:;:``.``,,,,,,,,,,,,,,,,.:::,':'+''++++''';...,.`` `````````````````````````````````````````````````````````````````....................,,,,,,,,,,,,,::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+,::::;;;;:';'+`''+++++++''';:,`````,:  ..  :` `` ''``;+;`'++++++++++++++++++++++++++++++++;;.,:''+''+'+++++#+',,.`````````...': ```.``.`...```````..,,,.`;+'''';'++'+':;+#+';;;';;;'';;'+';::`.:;;;'''''''''''''':;'''''''''+''';:+;;;;;,``..,., ` `'''''''''+'''++++''+++++'''+++++++;::;;:. ` ``.,,,,,,,,,,,,,::.;'+++:;++++++++''';.`.`````````````````````````````````````````````````````````````````````.................,,,,,,,,,,,,,,:::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;:;;;;;;;;;;'+`';++++++++''';,.````,:  ..  :.``` '+``;+'`'++++++++++++++++++++++++++++++++;';..,::'+++'++++#: .``````````.,:',`.  ``````````````` `.`,::,'++;';:'+'''++'+#++';;;'';;';;'+'''';+.;;;'''''''''''+'+  +''''''+++++'';:'';''';,,,+;#; ``:'+++''+++++++++++++++'''++++++++:;;;;;,,`  ````,,,,,,,,:,:,..,.:''+#;.#+++#+++''+';;:,:`````````````````````````````````````````````````````   `````````..................,,,,,,,,,,,,:::::::::
++++++++++++++++++++++++++++++++;+++++++++++++++++++++++++++++++++++++++++++;:;;;;;;;':;+'`';'++++++++'';:,.```.;  ..  :.``` '+``;+'`'+++++++++++++++++++++++++++++++++''':,:';''++;#+',``.````````.,,;+..,.``````````````    `.;''+++++;';:;'''+++''+++';;;'';;';;;;''';;:';;'''''''''''''''++''+''''++++'''++'''+'''+++++'+;+' #+++++++++++++++++++''''++++'+';;;';;.',```,,` `.,,,::::,,,,,,,,:;'+#'`#+++++++'''':,...`  `````````````````````````````````````````````````   ````.....................,,,,,,,,,,,,,,:::::::::
++++++++++++++++++++++++++++++++''++++++++++++++++++++++++++++++++++++++++++,:;;;;';;':;+;`'';'+++++++'';;:..```:` ..  ,.``` '+``;+'`'+++++++++++++++++++++++++++++++++++'':::,;+;+,;. ``````````..:;+'.. ``````````````   `:.:;'`++++++;;'.;''++++'+++++''';'';+'''''';;;::;;''''''''';'''''+'++++'''++'''+''+''+'+++++++'++''+::#+++++++++++++++++'''''++''+';;;:,.:+';';;:;:`  `.,,,,,,.,,,,,,,,;+++'.+++++++++'''+:,,.`  `````````````````````````````````````````````````  ````....................,,,,,,,,,,,,,,::::::::::
+++++++++++++++++++++++++++++++++'++++++++++++++++++++++++++++++++++++++++++:;;;;;'';+:'+:`'';;'+++++'''';:,.``.;` ..  ,.``` '+``;+;`'+++++++++++++++++++++++++++++++++++++;,+++#+..```````````..,:'';``````````` ` ````   .''+++++++++++:+,,:;'''''+#++++++''+++++++'''';;;+'''''''''';;;;'+++++++''+++'''+'''''++'++++++++++++#,+#++++++++++++++''''+++++'':::,.:+++++++'++'',`   `..,,,,,,,,,,,,.:'+++:'+#++++++++'''`` `  ` ````````````````````````````````````````````````````....................,,,,,,,,,,,,,,::::::::::
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;:;;;;;';;';'+:`'';;;'++++++'';;:,.``:. ..  ..` ` ;+``;+;`'++++++++++++++++++++++++++++++++++++++++++;,,.``````````.,,;##:``.``` ``` `  `    `:`,''++++++++++++:'.`,;';;'+;+++++++'+++++++''''';;'+''''''''''''++++++++++'+++'''++'''+++++++++++++++++.#++++++++++++++''''+++++'::,..;+':;;::++'+.;+':``` `,,,,,,,,,,,,,,,.;#+';++++#++++++++:`` `   `````````````````````````````````````````````````.......................,,,,,,,,,,,,::::::::::::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,;;;;.`+''';'+..';;;;;++++++''';;:,.`:, .,` ..``.`'+``'+;`'++++++++++++++++++++++++++++++++++++++++',:,```````````,:'+#'`` .```` `+'+'+: ,.,;`;:;'+++++++++++++#;;;.`.:+;'++++++++++++++++'''''';;'+''''+''++''+++++++++++++++++++''+++ ,+++++++++++++,#++++++++++++++++++++++':,.`,++',::,;.`;+' :''': `  .,,,,,:,,,,,,,,,.,+#''+'+#+#+++++'':``:.   ````````````````````````````````````````````..`......................,,,,,,,,,,,,,,,:::::::::::
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:;;';.`#;'';'+`.'';;'''++++++''';:,..,: `,  .`` .`'+``++;`;'+'++++++++++++++++++++++++++++++++++++';'.``````````.,;'+#,``;;`::.  `++'''+'+'+'+''+'+++++++++++#+++++'++':,:++++++++++++++++'''''';;'+''+++++++++++++++++++++'++++++'+'++:;++++++++++++;#+++++++++++++++++++++':::,;';'''.;:::::,;++++''':.` `.,,,,,,,,,,,,,,,.`'#:'+''+#+++++'';,``..`  ``````````````````````````````````````````.......................,,,,,,,,,,,,,,,,:,:::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;:;;'::++;''''+`.'';;'';++++++''';::,..; `.  ,..`.`'+``'+;`,''+'+.;+++++++++++++++++++++++++++++++'++,```````````.;;#'.':++++++++##++''''''''''++++++++++++++++++++++++'+++++++++++++++++++'''''';;'+++++++++++++++++++++++++++'''++''++++++++++++''+'++++++++++++++++'+++':.,:::::+'''+;.::,:::,,:'''''';`` `,.,,,,,,,,,,:,,:,`.'`##+'++++++++'',.```   `````````````````````````````````````````......................,.,,,,,,,,,,,,::,:::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;'::++;+'''+`.'';;'';+++++++'';;::,.; `.  ...`,`;+.`++;`,;:+'+;'++'++++++++++++++++++++++++++++++',``````````.:+,;+;+'++'''''''+++'+++++'+'+++++++++++++++++++++++++++++++++++++++++++++'''''';;'++++++++++++++++++++++++++++''+++++++++++++++++'+'+++++++'++++'++++#':,`.;:::::;+''+'`::::::::,:+'+''':.` .,,,,,,,,,,,,,,,,,.,'.#+'++++++++'';.,`  ` ```````````````````````````````````````........................,,,,,,,,,,,,,,::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:;;;;:;+':+'''+`.'';;'';+++++++'';;::,.;  `  .`.`:`:+.`++;``:,+++++++'++++++++++++++++++++++++++++++'+;````````.,'+++++++++'+'''''+++++++++++'+++++++++++++++++++++++++++++++++++++++++++++'''''';;;+++++++++++++++++++++++++++++++++++'''''''++:'+++++++++++'+++++++';::::;:;:::::,+++',;.;:::::::,,;+'+'':`` .,,,,,,:,,,,,,,,,,..::++'++++++'+'+....```````````````````````````````````````````.....................,.,,,,,,,,,,,,,:::::::::::::::::
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;:'+':+;;++`.''';'';++++++++'';;::,;  `` .`,`:`,+.`++;`.''.#+'++++++++++++++++++++++++++++++'++''+:````````.;+++'+'++++++++++''+++++++++++++'+'++++++++++++++++++++++++++++++++++++++++'''''';;;++++++++++++++++++++++++++++++++++''''''''+: ``` ;'''++++'++'+++,:::;;;:::::::::'+'';,`::::::,:::,;'''';:`` .,,,,,,,,,,,,,,,,..,:'++++++++++''':..``````..`...`...````````````````````````..``...................,,,,,,,,,,,,,,,::::::::::::::::;:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;:'+;;+;''+`.''';'';'+++++++'';;;::;` .` ..,`:..+..++;`.''',`'+++++++++++++++++++++++++++++''+''+;:',``````:'+++++'+++++++++++'+':++++''+'+++'+++++++++++++++++++++++++++++++++++++++;++''''';;;'++++++++++++++++++++++++++++++++++'''''''''';``` ;''''''''''';,``::;;;;::::::;::#+'''.,::::::::::.#;'''',.``.,,,,,,,,,,,,,,,,..,.#+'+++++++''';,`'` `..............```````..````````````....``..................,,,,,,,,,,,,,,,:::::::::::::::;;:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:;;;;;;+':;+:''+`.;',:'';'++++++++'';;;:', ,` `.:`:..+,`++;`.'''':'+++++++++++'++++++++++;;+++++'++'';:+;..````,;'++++''+++++++++++++':++++'';++;'++++++++++++++++++++++++'+++++++++++++++'+``''''';;'+++++++++++++++++++++++++++++'++'+'''+++'''';.``  ';;'''';::,,,,:,:;;;;;;;;;:::::++'';.;:::::,,:::..+'''',. `,,,,,,:,,,,,,,,,,,,.:#+++++++++'+;.,'```....................```````...`........``................,,,,,,,,,,,,,,:,:::::::::::::::;;;:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:;;;;;'+':'':;'+ ,:;';'';'++++++++'';;;;'; .` `.,`:..+, ++;`:'''''++++++++;''++++++++++++''+++++++++::+',...``.:'+++++++++++++++++++'++++++'+`..`+++++++++++++++++++++++++++++++++++++++++++.,''''';;'++++++++++++++++++++++++++++++++++'''+'''''';:.````.;:;';,`.:;;::::,:;;;;;;;;;:;:'+'';,.::::::::::;.;''''':. `:,:,:::,,,,,::::,,,`'+++++++++'':.'; ```.............................`..........................,,,,,,,,,,,,,,,,:::::::::::::::;;;;
++++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':;;;'''+':+;:;'+ ,:;''''''+++++++++';;;;;' ``  `,..,`+,`#+;`:;'''''''+++'++''+'++'+'++;.'++++++++++''#',...,..:;'++++++++++++++++++++'++++++'.  :''++++++++++++++++++++++++++++++++++++++++'++'''''';''+++++++++++++++++++++++++++++++++'''+'''''';;:.`.   `.,`,::;;;;:;;;,:;;;;;:::;:;:'''',`:::::,,::,,:.'+'''';,` .,,,::,,,,,,,,..,,,,+++++++++''':.;` ``......................................................,,,,,,,,,,,,,,,,::::::::::::::::;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':;;;'''';,+;,;'+ ,:;'''';'+++++++++'';;;''` .  .,...`+:`++;`;;'''''''+++'+++++++''++++':''+++';++++++',,`,,..,:;++++++++++++++++++++++'++++'+`  .+++++++++++++++++++++++++++++++++++++++++++'''''''';''++++++++++++++++++++++++++++''''++'''''''''';:,```    `,:;;:;;;;;,:;:,,;;;::::::::+'';` ::::,,::::::`'+'''''':  ,,,,:,,,,....,,,, #++''++++++'';`````................................................,...,,,,,,,,,,,,,,,,,:::::::::::::::;;;:;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;'''';:+:,:'+ ,::''''''+'+++++++'';;;;'. `  .,`,,`+:`#+'`;''''''''''''''++''+++';:';,'++++++'+++++,,.;;``,:;'++++++++++++++++++++++++++++'.,,.''+++++++++++++++++++++++++++++++++++++++++'''''''';''+++++++++++++++++++++++++++'''''+++''''''+'';;;.`     .:::;;;;;;';:;,.,,;;;;::::::'''':`,,:::,:::::::``#+'';'':  .,...,,.,,,,,,..`:++''+++++++,`::` `...............................................,....,,,,,,,,,,,,,,,,,::::::::::::::;::::;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++:;;;'+''+:'':,:'+`,::'''''''+++++++++'';;;': `` .,.,,`+:`++'`,''''''''''''''''''';:+''':.';++++''++++':.''.`,:,;++'+++++++++++++++++++++'++++'+''+'++++++++++++++++++++++++++++++++++++++++++'''''''';;'+++++++++++++++++++++++++++''+''++'''+++'+''';:,.      ,,::;;;;;;;:.:;:..,:;;;;;::;+''',`;:::::::::::::.+'''''''.  `.....,,,,,:,,``++'''++++'+`.+:` ``.............................................,,,..,,,,,,,,,,,,,,,,:::::::::::::::;::,,,;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++;;;:'+'+':+':,:++`,::'''';'+++++++++++';;;'' `` .,.,,`+:.++'`.''''''''''';;;''''';;''';;:::'',`;+++++;:''.`,;,:+++++'++++++++++++++++++++++++++'++'++++++++++++++++++++++++++++++++++++++++++'''''''';;'+++++++++++++++++++++++''+'''''+++'++++'+''''';;.``     ,:::;;;;:;;;:;;;::::;;::;:;'''';`,::::::::::::,,`#''';':;; `.,,,,,,....``` ,+''''++++`.;';:,``...........................................,.,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::.``:;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++;,++++++++++++;;;;;''''+:+;:,,'+:,::'''':'+''++++++++';;'''` ` .,.,,`+:`++'`,''''''''''':`,''''''';;';:,':;'::'''+'''+',`;;,:'::+''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''''';'++++++'+++++++'+++++++''++''+'++'++++'''+++'''';:.   `   :,:;;;;;;;;;;;;;;:.;;:;;;::++''; :,::::,,:::::::`'+'';;;.,.  ..,,:,:,` .:: +'''''':`+`#+;.````.........................................,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::;::,`,:;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++++++++;;':'''''':+;:,,++;,::'''':'+''++++++++'''''':   .,.,,`+: ++'`;'''''''''';;,;'''''''';',:.'',''''''''''':.;'.::#;;+''''''''''+++++++++++++++++++++++++++++++++++++++++++'++++++'+++'++++'++++'''''''''''''+''''+++++++''+'`;+++''+'''+'+++++++''++''''''';,`` `    ,::::;;;;;;;;;:.:..:;;;;::,;+'+,`':::,,,,,,,,,:,..:+::::.     ..,..,,..`...#+#++++';:` .;`  ``......................................,.,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::;:;:::;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;:''''';:+;:,,++',;:;''','''''++++++++''''''   .,.,,`+; ++'`.'''''',;''''':''''''';;::`''''.''''''+'':,''`.;++++++'++''''''''''''++++++++++'''++++++++++++++++++'+++'''''''''''''''''''''''''''''''''''''''+++''++'''+++`'++'''+';'''++++++++''''''';;'':,` `  `  `::::;;;;;;;;::.,:,.,,.;;;:;+'', :::::::,,,,,::,,.,:;::.`     `.,,,...`    .:'++++''.` `:` ``.......,.......,,...................,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++;;;;+++'';;+::,,+++.;:;''','''''++++++++''''''`  `..,,.+' ++;`:'''''';'''''':;+''';;;;: '';''.''''+''':.;:`:``:;':'''++''+++'''''''+++++++++++'''''''++'+'+''''+'''''''''''''''''''''''''''''''''''''''''+'+'..``+++''+'+'+++''''';''''+++++'++''''+'';::::: `````   `:::;;;;;;::;::`;:,..,..:;;'+;;;`,:::::::,,,,::,,,,,:+'';,` ` ``,,,.```..,,:'++++''+,` :`  ```....,,,,,..,.,......,,...........,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::;:;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++''+++++++++++++++++++++;';'''''+:;+::,:++#,;:;'';:'''''++++++++'''''', ``..,,.+; ++'`;'''';;.;''';;:;;''':,.. :';;'','';;''':.;:``  ;'';:;.;'''+'+''''''''''''''++'++++'''''''''''+'''''''''''''''''''''''''''';;;;;;;;''';;';;;;,` `  ++''''+'''''+''''';;++++++++''+''+++++'+::,,`.````    `:,:;;:;;;;;;;;;;;;;;:.`.`:+';;: ::,::::::,,,:::::,, ,'''',.. .,,. `,::,::,;'++'''',` ::.   ``...,,,,..,,,,,,....,,.,,,....,,,,,,,,,,,,,,,,,,,,,,,,,,::,:::::::::::::::;:;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;'''''':'+:,,;+++:;:;'';:'''''+++++++++''''''  `..,..+; ++'`;'''';,`;''''';;''.`.` .+;;;;'',;''''''';:.   ,,:;;;:.;''';''''++'''''';;''++''''++''''';'';;;'''''''''''''';'''';;'';'';;;;:::::,;'';'+;;.` ``  ,+''';++''''+'''''';;'+'++++'''+''+++++++;:,..``````    `:::;;;;;;::::::::::;:.,:`:'':':`::::::::,,,,,,,,,,..`:''';,``,`.`........:;++'''':. .::.    `..,,,,,,,,,,,,,,.,,,.,,,,.,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::;:;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;'''''':++::,;+++;;;;'';:;''''++++++++++''''',  .....': ++'`;'';'':.;''''':'''';,''+;;';;''::''''''':,` `,;.;;;;;::;;;.;'.::: .,,:;;;';;'+''''''''';:;';;;;:;''''''''';;;'';;;'';;;;;;:::::,..,;';,. `  ``.` +''';;+''''''''''';::'+''++'''++'++++++'++;,````````     .,,:;;;;;;;;;:::::;::::::.:+;::. ;,::::::,,,,,,,,,,.``;'''';. `,..........';++++';`  ',,`   ``...,,,,,,,,,,,,,,,,,,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::;:;:;;:;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';';++''+':+':,,'+++;;;:'';:;'''+++++'+++++''''''` ...,,': ++'`;'''''''''''';,+';'''''';;;''''',;;;;;;::, :::;';;;;;;;;;;;;;',    `.,,:::::;'''+'''''';',,,....:`,;;;';::;;':,:;;;:` .,.:::,:.``.,,`,` :;;;;::,`';;;,++'';';''';'''::;'''++'''++++++++''+++;.`````.``     ,:::;:;;;;;;;;;:::;:::::;.`+;::. ;:::::::,,,,,,,,,.. .;''''':``,.,,,,,,.`,;'+++'',   :,`    `...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,::,:::::::::::::::,.::;:;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;'''''';;+'::.++++;;;;'';::'''''+++''+++++''''+, ....,;: ++'`;''''+:;''''''.'''''''''';''''''';';;;;'` ,::;;;;;;;;;;''''''';:;:,` `..,,::::;':;'''';:::;.`.``...```...,...,::,.``..``````       `.,;'';;;:::;`';;;.#+'''':'';;''',::''++'''''''+''++++++++;. ```..`      :::;:;;:;;;:::::::;;:::;:.::',,``::::::::,,.,,,,,,,,`;;''''';.  `.,,,,.`.;++++'''`  ,:,```  ``..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::,,,:::::::::::::::` ,:;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++;+++++++++++++++++++++++++++++++++++';;'''''+:'''::,++++;:;;'':::''''++++'''+++++''''+  ,..,;: ++'`;''+'+;'''''';;'''''''''''''''''':,';;:. ,;;;;;;;;;;;;;;'''''';;';;',`  ```..,.``,````` ` ```          ````.`` ``````        ````,;;;;:::::::::,;;;;;.'';''+:'',';;''::;++'''''''''''++++++''#.  ````.`     `,::;;;;;;;::;;:::::::...`.`,:,,. .:,::,,,,..,,,,,.` `;;''''''.  ``.., ``,'''+''';  ,::..`   ``..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::,,::;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++'++++++++++++++++++++++++++++++++++';;;''+''+:+'':,,++++':;;''::,''+'++++'''+++++++''', ...,:: '+'`;''''',;''''':'';;'''''''';;;;;;;;;;:;:,:;;;;;;;;;;;;;;;'''''''';';;;';:` `   ``..::;;;;;;;;;:;::::,,.`      ` `     `  `.,,,,,,:::::::::::::::`;::::,,:;':::+,::,:;+;:;'+''''''''''+++++++'':,` ````.``     ;.:::;;;:;;:;;;::::::;:,:::,...,,`.;::::,,,..```.....`:'''''';:   ```.` ,:''++'''. ,::,.``   ``..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,:,:::::::::::::::::::;;;:;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';'''++''+:+';::,++++':;;;'::,;'+''+++''''+++++'''':  ` .;;`'+'`;''''',;'''''';;;;;'''''''';;;;;;;;;;;;;::;;;;;;;;;;;;'''''''''''''';;;;''':;;;''''';;;:;;;;;;:::;;::::;;:.``        `,::::::::::::;;:;:;;;:::;.,.,,,:.;;;,,,,.::::;;'::;''''''''''+++++++++':,`````````      :,,:::::::::::::::::::::::,``,.:  `;,:,:,:,`.,,,,,,..`.:'''''''`  `.`.``;'''+''': .:::,.```  `..,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::,::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';''+++'+':+';:,,+++'+:;';'::,;'+''++''''''+++++''''`   .;: ;+'`:'';';;''''''''''''''''''''''''';;';;;;;:::;;;;;;;;;;;'''''''''''''';;;;;;;`;;;';;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::,::::::::;;;;;;;;;;;;;;;;:::;``,,,::,':,,,:,::::;;;;:;;';;''''''''+++++++++';.`````..`     `:,,:::::::::::::::::::::,,,,.,,,  :::`` `,,,....,.,,,.``''''';',   ``` :'++'''';` ::::,.``` `...,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';'''+++'+;;++;:,,+++++;;'''::,;'+''++'';'''+++++'''+. ``.;: ;+'`,''''':'''''''''''';;'''';;';;;;;;'''';;;;;;;;;;;;;;'''''''''';;;''''''''';,;;;;;;''';;;;;;;;;;;;;;;;;;;;;;:::::::::::::;:;;;;;;;;;;;;;;:;::::::;,.,,:;::;:,:',,::;:;;;:;;'.'';';;''''''+++++'';'.``` ``.``    `,,:::::::::::::,,,:::::::,..``,:.``. ..,,.,,,,......,.`.;;''''':   `..`'+''''+:``,,,:,..``` ``..,,,,,,,,,,,,,,,,,,,,,,,,,:,,:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++'+++++++++++++++++++++++++++++;,;'''++''+:'+'::,,++++#';'''::,:'+''++'';'+''+++++'''+.  `', ;+'`.;;';:+'''';'''''';''''''''''';;';;;';;;;;;;;;;;;;;';;;;''''''''''''''''';''''';;;;;;;;'';;;;;;;;;;;;;;;;;;;;:;::::::::::::;::::::::::::::::::;;;:.`..`.`......`..,'+++;';'.':;:;';'''''+++'++''::```` `...`   `,.,:::::::::::::,,::::;::,,..```,,``........``` ```...,.`:'''''';`  ```;+''+'';```:,,::..```  `..,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'`''''+++'+:'+':::,+++;,#;'''::,:'+''++'';;+'''+++++'+'.   `, ;+'`.''''''''+''''''''''''''''''''''';;';;;:::;;;;;;;;';;;:::::::;;;;;'''''''''';;'';;;;;;';;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::::,.```.,::::,,............`````       :+''''+++++++';;;``` ``.,,.`   ,;.,::::::::::::::;;;;;,`..,,,.. `  `..`````````  ``````` `,;'''''.` ``.;;'''''.` .,,,,,..```  `..,,,:,:,,,,,,,,,,,::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''++''','+'::,,++++++;'''::,:;+''++'';;++';++++''''#' `:; ;+'`,'+';+''''';;';;;;''''+'+++''''''''''';:::;;;;;;;;;;;'''';;;;;;;;;;;;''''''''';;;;;;''';;;;;;;;;;::;;;;;;;;::::::::::::::::::::::::,:,:::,.````,:;::::::,,,.,...``......`````     `.'''''+++++'''; `:````;:,.      ,::::::::::::;;;;';;,,,` .,,`...`  ..............`````   .;''''':,. `:;''''': `..,,,,,..```  `..,,,,:::::::,,,,:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;'''''''++''','+'::,,++'+++;''':;::;+''++'';;++'';++++''';,``;;`:+'`:;':;+'''''''''''''''''''''''''''''+'';;''';';;;;;;;;;;''''''''';;;;;;;;;;;'';;;;;;''';';;;;;;;;;;;;;;;;;;;;;;;::;::;:;::::::::::::,::.`   `.,:;;;;;;;;;:::,:,,.```````.```````````` .,+''+++++';:.`:.  `:::.      .,::::::::::::,,:.....`  `..``..``` ``````````````.....```:';''';';  ,;;'''''` `.,:,,,,,.```  `.,,,:::::::::::::::::::::::::::::::::::::;:::;;;;:;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::''''''++''','+'::,,++++++;''';;,,;+';++''';+++';++++''';.``;;::+'`:''':'++'''''''''''''''''';;;;;'';;:::::;:;;;;'+++'''';;'';''';'''''''''''''';;;;;;'''''''';;';;;;;;;;;;;;;;;;;;:;;;;;;;;;;;:::::::;:.  .;;;;;';''''''''''';'';'++:,,..````````````  `  ''+++++'''...,.```::.``    ,,:::::::::::::,,::,,,.  .,,,,,,,,,,`   `````.```````````  `;;''';':.`';''''',  .,,,,,.,,..``  `.,,:::::::::::::::::::::::::::::::::::::::::;;::;;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''++''',+';::,,++++++;''';;,,:'';++''';++''''+++'';;``.:':,+'`;''+''++''''''''''''''''''''''';;;;';::,::::::;;;;;'''''''''''''';;'''''''''''';;;;;;';;;;''''''';;;;;;;;;;;;;;;::::;:;;;;;::::;:``` `:;;;;;;''''''''''''''''''''';;;:,...`````````   `` `+'+'+';';`.., ``,:..     ,:::;;;;;:::::::,.,,,``..:::::,,,,,,:`` `,..`````````````` ` .,:+'';,`;;;'''';```,:,,:,.,,,.``  `.,,::::::::::::::::::::::::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''+++'''.'+;:,,,++++++;;'';;:,:'';++''';++'+''+++''''``.:';,++`;''++'''+''''''''';'''''''''';';''''';;;;;:;;;;;;;;;;;'''''''''''''''''';;;;';';;';;;;;;;;;;;;;;;;;';;;;;;;:;::::::::::::::,:..   .:;';;''''''''''''''''''''''''''::::::,,``````````      `;+''';;; ,..` `.:.``    ,,;;;;;;;:::::..,.,::;;;::::::::,.,.````........``        ``    ` ,:,.;';'++'+.``,,:::...,:,,````..,,:::::::::::::::::::::::::::::::::::;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''+++'';,+'::,,:++++++';'''':,,'';++''';++'+''+++''''``,:';,++`;''''''''''';;;;;;;;;;''''''';''''';';'''''';;;;''''';;;;;;;;;;;;''''''';;;;;;;';;''''''''';:;;;;:::;;;;;::::::::::::::,,:,:   `.:;'';''''''''''''''+''''''''''';:,:,,,:,..````  ```.``  ``:'''';;',;:,```,:.``   `.,:::::;;:,,,,...,,,:;::::::::,,,....` `  `````````                   .'''+#+':.``,,,:,``.,,,..```..,,:::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''''''++++'':;+':::,:+++++++;''''::,'''++''';++''''+++'''+`.,:';,++`;'''''++'++'';;;;;;;;;;;;'';;;;'''''';;;;;;;;;;;;'''++++''''';;;;::;;;;''''''';';';''';;;;''''';;;;;::::::::::::::::::::::,  `,;;'''''''''''''''''''+''';;;;;::,;'+'+:,,,..``..`````..`````;;'''';;':;,. `,:.``   ,,::;;'''`;;:::;;;;:::;;;;;.,,,.....,..```` `````````...```````````   ` :''+ `+'.`....,,,`..,,,..`` `.,,::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:';;'''++++'+.'+':::,:+++++++''+'':,,'';++''';+++'''++++''+`.,,';,++`;'''''+++++++''';;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;''''''''''''';;;;;;;;;;;;''';';'''';;;;;';;';;;;;;;;;;:::;;;;;;;::::;,` `::;;''''''''''''''''''''''';'''''''''''+':;;';;,.,,,..```,.``` ;;''''':;;;:: `,,..`  `,,::;;:::,,,....,,,,,,,::::.,..````...``````  ```````````````````````` ,,''+:'+':``,;:.`.,...,,,..`` `.,,:::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++'#.:';;''+++++'','+'::,,;+++++++'++'';:,'';++''';+++''''+++''+``,.+',+#`''''''''''''''''''''''';;;;;;;;;;;;;;;;;;;;:::;;::::,:::;;'';;;'''';''';;:;;'',.'''''';;;;;;;;;;;;;;;;;;;;;;;;;;;:::::.` `,::;;'''''''''''''''''''''';;'''''''''''''''+;+;;;,,,..;.```,.`  ,;''''':;;;;;``,,..`  `:;'''';;;;;:,,,..,,::::::::::,,......,`.````  ``````........`````  ` ,,,.'''+++';` .:;'',,,..,,,,...```.,,:::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;';
+++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++++; :+;''+++++''',+''::,,;+++++++''+'';:,'';++''';++++++++++'''``,`+':++`''''''''''''+''''''''''''';;;;;;;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''';;'';;;;''''';;;;;;;::::::::::::::::::::,,,.  `,;'''''''''''''''''''''';'';;'''''''''''''''++''';;;;;;;;::,.``.``  ';''''';';;;; ,,..`` ,::;;;;';;;;:::,,,:::::::::::,,,,,,,,..`,..```` ``````````...,......`;;::,;''''''':`.,,,;';,...,,.....``.,,,,::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';'''++++'+;,+';::,,;+++++++''''';:,;':++''';++++++++++'''``,`+';++`:'''''''''''''''';'';;''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;';';;;;';''''''';;;;'''''''';;;;;;;:::::;;:::::::::,,.,.`  .;''+'''''''''''''''''''';;'''''''''''''''''''';;;'';;:::;;:+ ,..```  ,';'''';'';;;`.:..`` ..,,,:,::,,,,,,,,,,,:::::::,,,,,......`.```````   ```  ` `       `` .:::::,''''+'''``,,:,,;':,,..,.,..````.,,,:::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,;','+'';'''+++++',,+';::,,:+++++++''''';:,;':++''';++++'+++++''+.`,`+';;, .;'''''''''++''''''';;;;;';';;;'''''''';;;;;;;;;;;;:;;::;;;;;;;;''';;';;'';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::,:`  `,;;'+'''''''''''''''''''';;;''''''''''''''''''''';;'''';::,;;;;.,.```  ,;'''''';'';;.::.,.. :::;;;;;;;:,,.,,,,,,:::::::::,,,,.,,..,,,,,,...`    ```````````.`   ,,.,,,.;'''++'': .:;:;:;:,,,..,,.....```.,,,,::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
++++++++++++++++++++#,:++'++++++++++++++++++++++++++++++++:  .+++''''++++''',;+';::,,;+++++++''''';:,;':++''';+++'''++++'''.`,`+';;  .'''+''''+'''''''';;;'';;;;;;;;;';';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::, ``,;;'+++'''''''''''''''''';;;;'''''''''''''''''''''''''''+++++:':;.,.```  .;;''''';'';;`:,,,.,`,,,:,,,,.,,,,,.....,,..,,,,,,,,,,,,,,.,,::,....`..   `...`````      .,,::::;'''++'''``::::;::::,,,,`.......` `,,,,:::::::::::::::::::::;:;:::;:;;;;;;;;;;;;;;;;;;;;;;;;;''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++':` ,'++''''++++'+','+';;:,,;+++++++''''';:,;;:++''';'++';,'+++''+,`,.'';',``''++++++++++++''''';;''''';;;;;;;;;;;;''';;;;;;;;''''''''''';';;;;;;;;;;;;;;;''''';;;;;;;;;;;;;;;;;;;;;;;;:::.  `,;'''''+'''''''''''''''';;;;;'''''''''''''''''''''''''';:,,;+'.',;..,` `  `;''''''''';;:::,,,, .,,,,:::::,,,,,..,,,,,,::::::::::,,,,,,,,,,,,.`````   ``````      ``.';::::;'''+++++; :::::::::::,:,,,.`.....``.,,,::::::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.`.`+:;''''++++++;,''';;,,,;+++++++''''';:,:;:++''';'++'','+++''',`,`'';';..;'++++''''''''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;',.;'';;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;;::::::::,:` `,;;;;''''''''';;;';'''''';;;;;;'''''++';'''''''''''''++++'+::,;':::,:`.` `  `;'''''''''';;::,,,, :;;;;;;;;::,,...,,,:::::::::,,,,:::,,.,.```````   `                  ;;;;;;:'''++'''',,;::::::::::::,,,.`.,,,..``.,,,::::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;';''
+++++++++++++++++++++##++++++++++++++++++++++++++++++++++';';''+'+'''++++++::+'';;,,,;++++++'''''';:,:;:++''';'++'++'+++''':`,`'';``,`;'+++++++'+'''''''';;;''';;;;;;;;;;;;;;;;;;;;;;;;'';;;;;;;';'''';;;;;;;;;;;:.';;;;;::::::::::::::::::,,,,,. ``'''++++''''''';;;;;;;;;;;;;;;';;''''+. '''''''''''''++''+':;+''.'.,.:;``` `  `;''''''';'';;:;:,,, ,:::::::;;;;;:,,,,,:::::::::::,,,:,,,,...```````                    ` ::,,,,:';'++''':`:::::::::::::::,,,....,.,.``.,,,::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;''
+++++++++++++++++++++++++++++++++#+#++++++++++++++++++++++++++++'+''++++'++,;''';',,,;++++++'''''';;.:;,++''';'+++++++++''';`.`;':+'.`''++++++'+++++++++''''''''''';;;;;;;;;;;:;;;;::;;;;;;;;;;;;;;::;;::;;;';;;;;;;;;;;:::::::::::::::::::::::,,` ;''+++++++';;;''';;;;;;;;;;;;;;;''';;;:.+''''''''''+++''''';:,;:.;:,,,,``` `   ;'''++++;'';':;;;,, `:::::::::::::,,,,,,:,,,,::::,,,:::,,......````         ```..   ,```.  ,.,,,,:;'++++''.,:::::::::,::::::,,,,`.,,,..``,,::::::::::::::::::;::;;;;;;:.::;;;;;;;;;;;;;;;;;;;;
++++++++++++++++++++++++++++++++++#.'+++++++++++++++++++++++++++'+'''+++++','''';;,,,;++++++'''''';;,:;,++''';'++++#++++'''; ,`;':++`,';''''''++++++'''''''''''''''';;;;;;;;;;;'''''''''''';;;;;;.:';;;;;;;;;;;;;::::;;:;:::::::;:::::::::::;:``,, ''++++++++';;;;'';;;;;;;;;;;;';'';;;;''+''''''''+'+++++''''';,:,..,,,.,.`` `  .:''+++'+':'';:;;;:,``::;;:::,,,,,,,,,,,,,..............`````..```` ````     ```    `,,,,`,:::;:::;:;++++'':.::::::::::::::::::,,,.`.,,..``.,,::::::::::::::::::::;;;;;. ,;;;;;;;;;;;;;;;';;'''
+++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++'+++'+''++'+++;,''';';.,,:++++++''''+'';,::,+'''';;++###+++''''' .`'':'+ :;'''++++++++++''''''''';;;;;;;;;;;'''''''';;;''''''';;;;;;;`.;;;;;;;;;;;';;;;;;;::;;;;;;;;;;;;:::::::::;,,:;`.;'+++++++';;;;;;;;;;;;;;;;;;'';;;;''''''''''''''++++++''''':,:.,,..,.,.````` .,''+';+++:;+:;;;;::, ...,::,,,,,,,,,,,,,,,,,,,,,.....`````````      ```     ``     ``.,.``+'::;;:,:'+++++'+`,::::::::::::::::::,,,,.`..,,.`.,,,::::::::::::::::::;;;;;;:;;;;;;;;;;;;;;;;;;;'''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+''++++,`;:''';';.,,:++++++'''''';;,,::+'''';;#+###+++'''''`.`;':+' ;'++++++++''+++++''''''';;;;;'''''';;''''';;''''';;;;;;;;;;;';;;;;;;;;;;;;;;'';;;;;;;;;;;;;;;;:::::::::,::;:.;'++++++++'';:;;;;;;;;;;;;;;;;';;;''''''''''''''''+++++''';;':,,........``` `` .:'''` +++'.':;;;;;;. `` `.,...........,,,,,,,,::,,,,,,,,,...````       ``         `````````.+;;:::,;+'++'++`,::::::::::::::::::::,,,,...,,.``.,,:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;''''
##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'':++''++++:,;;'';'';,,,,+++++++'''''';,,::++''';;#####+++'''''`.`:':'+ ;'++++++++''+++++''''''''''''';;;;';;;;;;;;''''''';;';;;;;;;;;;;;;;';';;;;:`:;;;;;;;;;;;;;;;;;;;;;;;;,::''+'++++++++++++++;::;;;;;;;;;;;;';:;'';'''''''''''''''+''+''';;:;:,.``......`````` .:'''+'+++'+';;;;;;:``:::;;::,,,......,,,,,,,,................```  ````             ````...` ;,,:::,::''+:+;.::::::::::::::::::::::::,,,..,...``.,,::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;';''''
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++','++++++++#:'+'''':,,,,+++++++''''';;,,:,++''';;#####+++'''''`. :';'' ;'''++++++++++++++++++++++''''''''''';';;;'''''''''''''''''''''''''''';;;;;:;;;;;;;;;;;;;;;;;;;;'';,.:'++++++++++++++++++++'::::;;;;;;;;';;;;';'''''''''''''''''''''';;;:::,..````..``````` `:''+++++''++;;;;;;, .,::::::::,.....,:::::::::::::::,,,,........,,.```                     `:::::::.,+++.,.:::::::::::::::::::::::::,,::,,...````.,:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;''''''
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+';'++++++++';'+';'':,,,,++++++'''''';;,,::+''';;;#####+++'''''`. ;+;'' ;''++++++++++++++++++++++++++''''''''''''''''''';''''''''''''''''''''''''';';;;;;;:;:;:;:;;;::.``.,:+'+++++++++++++++++'+'+'+';::;;;;;;;;;;;;;''''''''''''''''''''';;;:::,,,..`````````` `` .;''+`++++'+''+;;;: ,,::::,,.........,:::::::::::::::::::,,,,,::::,.```````         ``` `````:,:::::`;+'+``:::::::::::::::::::::::::::::::,,..`````.,:::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''
##++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++;,'++++++++;'''''';,,,,,++++++'''''';;,,::+'''';;#####+++'''';.. ;+'+' ;'++++++++++++++++++++++++++++++'''''++'''';;;;;;;;''''+'''''''''''''''';;;;;'';;;;;:;:,,....,'++++++'+++++++'+++'+++++++'''''+;;;;;;;;;:;;;;'''''''''''''''''''''';;;::,,.,,..`````````````.;'''++++'''++'';;``,,,::::::,......,,:::::::::::::::::::,,:::::,,``  ```         ``````````,,.,,:::`,+',`.,,,::::::..::::::::::::::::::::::,,..````.,:::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++',:+'+'++++''++''';,,,,,++++++''''''';,,:,+'''';;#####++++''';..`;+'+' ;'+++++++++++++++++++++++++++++++++++++''''';';;;;;''''''''''''''''';'';;:::;;;::,,....`.,:''''''''+++++++'++''+++++++'''''''''';:;;;;';:;;;''''''''''''''''''''';;;;::,,,.....`````````````:;''''++++'''''';:``.,,,,::::,,......,:::,:::::::::::::,,:::::::,.``````` `           `````,,,,,:::..,,,.`;:::::::::,,::::::::::::::::::::::::,.```.`.,::;::::;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
++++++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++',;'++'+++'''+'''';,,,,:++++++'';;''';,,::++''';;####++++'''';,. '+'+' ;'+++++++''++++++++++++++++++++++++++++++++'''''''''''''''''''''''';;;;;;;:.`````..:::;''''+++'++++++++++++''''''+'''';;'';';;''':;''';:;;;;'''''''''''''''''''';;;;;::,,.....``````````````:;'''''++++''''';  ,,,,,,,,,............:,,,,..........,::,,.,,,,,.....``           `` ```.,,,,,,,,.,,,.`.;;;;;::::,:::::::::::::::::::::::::::,..``.`.,::::::;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''
++++++++++++++++++++++`++++++++++++++++++++++++++++++++++++++++'''++'+++''+';'+';,,,,:++++++';;;';';,,,,+'''';:####++++'''';,.,#+'+' :''++++''''+++++++++++++++++++++++++++++++++'''++''''''''''''''';;;:::;,.``..,,::;''''''''+++++++++'+++'''''''''';;'';''';;;;;;'';;''';:;;;;'''''''''''''''''';;;;:::::,....`.``````````````;''''''''''''''';`.::::::::::::,,,......,,,,,,,,......,,,,,............````````      ``  `;::::::,..,,,.`:;;;;;;;;;;::::::::::::::::::::::::::::,,....`.,:::::;;;;;;;;;;;;;;;;;;;;;;;;;''''''''
++++++++++++++++++++#+'#+++++++++++++++++++++++++++++++++++++++++'++'++'''+++++':,,,,;++++++';;;';;;:,,,+'''';:+###++++'''''::;++++' ;'++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''';;;;';,` `,::;;''''''''''+++++++++++'+''''';;;;;::::;'';;;;;;;;;';:;''';;;;;'''''''''''''''';;';;;;:,,,,,,...```````````` ``,;;''''''''''''''.`:,::::::;;:,,....,,,,,,,,,,,.....,,,:,,,.`.`.......`````````  ```    ` `.::::::,`,,....;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::,.....`,:::::;;;;;;;;;;;;;;;;;;;;;;;;''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++'+++'+++++'':,,,,'+'++++';;;';;;:,::+'''';:+###++++'''';:'`++++; ;''+++++++++++++++++++++++++++++++++++++++++++'++'+++++++'''';;'++.   .::;'''''''''''++++'+++++'++++'''';::;:::::::;';;;;;;;;;;';:;'';:;;:;'''''''''''+';;;;;;;;;:::,,,,,...```````` ``````,;;''''''''''''':.,,,:,::,,,,,,...,:::::::,,::,,,,,,,,,,.......```.```` ``         `      `.,:::::..,.....:::::;;;;;;;;;;;;;;;;;:::::::::::::::::::::,.,,,`,:::::;;;;;;;;;;;;;;;;;;;;;;'''''''''
++++++++++++++++++++++++++++++++++''+++++++++++++++++++++++++++++'++'++'++++++';,,,,:+++++++';;;;;;;:,,:+'''';:+###++'+'''':';`#+++; ``+++++++++++++++++++++++++'''+++''+++++'''''''''''''+'';'''::.`  .:;''''''''''++++++++++++++''''''';';;:::::::::::;;;;;;;;;;;;';:'';:;;;;''''''''''': ;';;;;;;:::::,,,,,...`````  ` ``  ` ';''''''''''''';,`,,,,,,,,,,.`....,:,,,,::,,::::;;'';:,,.....,,,,,````` ```````     ```    ` +;;;:`,:,..`,::::::,:::::;:;;;;:;;;;;::::::;;;;;;;;;;::;:::,:,,::::::;;;;;;;;;;;;;;;;;;;;;'''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'''+'+++++'':,,,,:'+++++'';;;;;;;:,,:''''';:'##+++'''''':';.++++; ``++++++++++++++++++++++++'''''++'';;''''''''''''';';;;';.   ` .;''''''''''+++++++++++'''''';;'''';;;:::::::::::::::;;;;;;;;;;;';;'';:;;;;''''''''''': ;';;;;;::::::,,,,,...`````        `.';''''''''''''',``,,,,,,:,:,.```..,,,,,,,:::::;:,.........,,::::::,.``` ````````    ```` ``  ;;;;,.::,.`,;:::::::::::::::::::::::::::::::::::::::::;;;'';;::::::::;;;;;;;;;;;;;;;;;;;;;';'''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'';+++++++'':,,,,,'+++++'';;;;:;;:,,:'''';;:;#++++'+';'';;,.#+''; ;+'+++++++++++++++++''''''''''''''''''''''''''''';;;;:. ````,;''''''''++'''+++++++++++'';;;;;;;:::::::::::::::::::::;;;;;;;;;;;':''';;;;;'''''`''''''''';;;;;;::::,,,,,,,...`````         .;;'';''''''''''` .,:,::::,:,.`````..,:::;;:::;;;;:,.....,.,.,,.....``````````````    `````.` `,,:`,:,,.`'';;;::::::::::::::::::::::::::::::::::::::;;;'''::;;;::;;;;;;;;;;;;;;;;;;;;;;''''''''''
+++++++++++++++++++++++++++'++++++++++++++++++++++++++++++++++++''++.'+++++++'',,,,,,++'+++';;;:::;::,,,+'''';:;#++++++':+';::`:'''; :'+++++++++++++++++++''''''''''''+++'''''''''';;;:;:.  ` `:'''''''''''++'+++++++++''';;;::::::::;:::::::::::::::::::;;;;;;;;;;'',';;;;;;;''''''''''''';;;;;;:::::,,,,,,.....``````      ``.';';;''''''''':, ,,,,,,,,,,,``````...,:;:,,:::;;;::,,,,,,,..`````````````````````     ````````,,..::,.`:;;;;;;;:::,::::::::::::::::::::::::::::;;;;;''';:::;;;:;;;;;;;;;;;;;;;;;;;;;;;';''''''''
++++++++++++++++++++++++++++++++++++++++++++++++''++++++++++++++'++::++++++++';.,,,,,+''+++';;:;;:;:;.,:+''';;,;#+++++++'+'':. .'''' :++++++++++''''+''''''''''''''''''++'''''''';;;':``    ,;'''''''''++++'+++++++''''';;;;:::::``::.,,:::::::::::::::::;;;;;;;;;;';:';;;;;;''''''''''''';;;;;:::::::,,,,.......``````     `. .''';;;'''''''';`.:,,,,,,,,.````````,::,.....,,,::,,,.,,,,..``````````````````````   ````` `` `.,`,::,.`;;;;;;;;;:``,::::::::::::::::::::::::::;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''
##++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++++++'++:;'++++++'':.,,,,,++++''';;::;::,,';,''''';,;++++++++++;;:,``#;'' ;+++++++++++++++++++++++''''''''''++'''''''';;,  ``  ,;''''''''''''++++++''+''''''';::::::::,`:, `,::::::::::::::::;;;;;;;;;;;':;';;;;;;''''''''''';;;;;;;::::::,,,,,.......``````     `. :'';;;;'''''''':`,,,,,,:,,::,,.``..,::,,,,,,,,,;;;;:::,,,....`````    `````````````` `` `````   ``:;:.`,;;;;;;;;;:.`::::::::::::::::::::::::::;;;;;;;;::;:;;::,;;;;;;;;;;;;;;;;;;;;;;;;';''''''''
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+::''++++++'':.,,,,.'+'+'';;;:::,:'++#,''''':,:+++++++++';;;,,`';'' ;++#'+++++++++++++'''++++++''''''''''';;;;;;'` ...`.;'''''+++'''+''''''+''''';;;;;;::::::::::::,``,::::::::::::;;::;;;;;;;;;;'':;';;;;;;''''''''';;;;;;;:::::::,,,,,,,.......`````     `` :';;;;;;''''''',.,,,,:,:,:,,,,......`..,,,,,,` :;:,:;+';;::,,,,.```     ````````````  ``    ` `` .:;.`.;;;;;;;;;;;;:::::::::::::::::::::::::;:;;;;;;;::;;:;;:,`,;;;;;;;;;;;;;;;;;;;;;';';''''''''
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::'+.;''+++++''',.,,,,,++'+'';;::::+#++++:'''';:.:+++++++++'''',, .''' ;++##++++++++++++++++++++++++''''''''''';;':  .. ,'''''''''''''''''+'''''';;;;;;;:::::::::::,:,:,,::::::::::::::;:;;;;;;;;;;;'':;;;;;;;'''''';;';;;;;;;:::::::,,,,,,.,.........``      `. :':;:;;;'''''''..,,,,..` .,..`...```......,.,:,;,.````....```...```   ` ````````````  ``  `     .,::``:;;;;;;;;;;;;:::::,::::::::::::::::::::::;;;;::::::::;::,:;;;;;;;;;;;;;;;;;;;;;;;;'''''''''
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;:'',;''+++++'';...,,..''+'';:::,#+++++++:''''':.,+++++++++''''::` :'+ ;+######+++++++++++++++++++''''''''''';;'' ` .`++''''''''''++''''''''';;;;;;;;:::::::::::,,,,,::::::::::::::::::::;;;;;;;;;;''':;;;;;;;'''''';;;;;;;;;::::::,,,,,,,,,,.,,,,....``      .. ::::::;;;;''''',`,....,.`...`....`````..,,,,:;';:,......``````````    ` ````````````      ```   `::,``;;;;;;;;;;;;;:::::,.::::::::::::::::::::;;;::::::::;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;';;''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'',;''++++''':.......';''':::'+++++++++:''''':.,++++++++++''';:. .+' '++#####++++++++++++++++++''''''''''';';. `.:''''''''+'''''+'''''';';;;;;;;::::::::::,,,,,,:::::::::::::::::::::;;;;;;;;;;;;''',;;;;;;''';;;;;;;;;;;;:::::::,,,,,,,,............`      ..`.,:::::;;;;''''.`,,,,,,,,,,,````...``.,,,,,;'':,.````````````````````   `````````````    `````  .:;,.,';;;;;;;;;;;;::::::::::::::::::;:::::::;;;:::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''
##++++##++++++++++++++++++++++++++++++++++++++++++++++++++++++++;',:''''+''''.......,':'';,;#++'+++'+++:'''';:.,++++++++++''';;,` '+ '++#####++++'''++++'+++++++'''''''';'':  `;;'''''++'''''''''''''';;;;;;;::::::::::::,,,,,:::,,::::::::::::::::::;;;;;;;;;;''''':';;;;;'';;;;;;;;;;;;:::::::,,,,,,,,,............``    `..``,,::::::;;''''.`:;;::;;;:::,..```...,,.,:;:.`..````````````````````     ```````````` ```````` `,::``:;;;;;;;;;;;;;::::::::::::::::::::::::::;::::::::::;::;;:;:;;;;;;;;;;;;;;;;;;;'''''''''''':'
##+++##+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++;',:;''''''';.......,;,';;++++++++:;+++';+''':,.'++++++++++''';:,``+`'++#####++++'''++'''++++++++''';;';;+. .:;''''''+''''''''''''''';;;;;;;::::::::,,,,:,,,:,:,,:,::,:,,::::::::::::;;;;;;;:;''''':;';;;;::'''';;;;;;;;;::::::,,,,,,,,,.............``     ,.``,,,::::::;'''':`;';';;;:,,,``..`.,,,,,:;:,....`.....```````````````      ```````     ```````  `,:.`.::;;;;;;;;;;;;::::::::::::::::::::::;;;:::::::::::::;:;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''':;
+++++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++''.:;'''''';:.,...`.,;;:;;+++++++;.;++++;''';:..''+++++++++'''':,  #`'+#######++++++:''''+++++++++''';;''  .:''''''''''''''''''''''';;;::;:::,,,,,,,,......,....,,,..;''',,,,,:::::::;;;;;;:;'''''',';;;;;;;;;;;;;;;;;;;;:::::,,,,,,,,,,............``     `,.` .,::::::;;'''''.:';';;::,..``...,,:::::::,,,..`..```````````````````    `````````     `````   ,,:``,:;;;;;;;;;;;;;::::::::::::::::::::::;:::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''
##+++++++#++++++++++++#+++++++++++++++++++++++++++++++++++++++++';,:;''''';;:,,..`;''';:;;+++++++''++++#;''';:..;;++++++++++''';:``#`'++##########+++++++++++++++++'''+; `,;''''''''''''''''''''';;;;;;;::::,,,,,,,,.,...`.;'';;....;'''':;:,,,:::::;;;;;;:;'''''',';;;;;;;;;;;;;;;;;;:::::::,,,,,,,,,,.............``     ,:.`` :;;;:::;;''''':.,::::,,,......,,,,::.``...,.....`````````````````````````````````    ````   `,:,`.::;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::.:;:;;;;;;,.;;;;;;;;;;;;;;;;;''''''''''
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';,:;''''';;:,..:+''';;;;'+'+++';+++++##;''';:.,:.;'++++++++''';;, ,.'+++####+++###+++++++++++++++++'';`..''''''''''''''''''''';;;;;;:::::,,,,,,,,:::;';,:'''++++;,''''';;''';::::::::::;:;'''''+.::;;;;;;;;;;;;;;;;:::::::,,,,,,,,,,,,,............``     :,,.` ,:;;:;;;;'''''',,::::,........,:::.```.......``..``....`..````````````````````````  `````   .::` `::;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::;;,:;;;;;;;;;:;;;;;;;;;;;';;;;;''''''''''
###++######+++++++++++++++++++++++++++++++++++++++++++++++++++++;:,;;;;;;;;:.,'++'''';;;:+++++';.;++###+''';:,..:,:;'++++++++''';:``,'++++++++++###++++++++++++'''';+' `.''''''''''''''''''';;;;;;;::,,,,:,:::;';++:;+''';''+.,:+++';;:;:::;:;;;'';;:::::;'''''+`:':;;;;;;;;;;;;;;;::::::::,,,,,,,,,,,,,,......,,...``` ` .::,.` +.:..;;;''''''',`::::,,,,,.....,....,,,,,,,,,,..,.```````````````````````````````` ``````  `.,,`  `:;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;';;''''''''''
###++###++++++++++++++++++++++++++++++++++++++++++++++++++++++++:;;;;;;;;'++#+++''''';;::++'++'';'+####+'''':,.,+';:;++#+++++''';:, `'+++++++++++##++++++++''''''''';`.,+''''''''''''''';;;;;;:::::,,,,,,,,;;':,``.`.`:+''+:,::..';:,,,::::,,:::;;;;''''''''''+.:':;;;;;:;;;;;;;;;;;::::::,,,,,,,,,,,,,,.....,,,.,,..` ```,;:,.``;;;,.;;;;+''';':`.`,,,,,,,,,,,,....,,,,,,,,,.,.....`  `..````````````````````````   `````  `,:,``  `:;';;;;;;;;;;;;;;;::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;'';'''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;.:++++'''++++++++''';;:,,+''';:'++#####+''';:,.,++++,;#:++++++''';:` '+++++++++#+##++++++++'''''''+:`,,''''''''';;'';';;;;;;:::,,,,,:::::,:;+``:'''+';`.';.;''';,`.;''''';;`.,,,,,::;;'';;'''',:;;;;;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,....,,,,,,,,...` .`.;::,,`:;;;:,,;':,:.;`:,,.``,,,..,,,,,..,,,,,,,,,,,....`..``  `.````````````````````````    ``.``` `,:````  `:;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::::;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++':'''+'''++++++++++'';:.`,'''',`:++#####+''';:.`'++++#..+++++++'';;:. '+++++++++#####+++'++''''''++,`,,;''';;''''';;;;;;;:::::::,,,:::::::;';.''''''''+';;;'''''''''''''';;'  ``..,,,,::;;''':,:;;;;;;;;;;;;;;;;;;;::::::,,,,,,,,,,,,..,,,,,,,,,,,...`,,`.::;:::`';;:::;;::,.`.`,,,,.``.,``.,,,,.`,:::,,.,,,,,,..````   `.````````````````````````     `..```.,.`..,.  `;;;;;;;;;;;;;;;:::::::::::::::::::::::::::::::;;::;;;;;;;;;;;;;;;;;;;;;;;;''';'''''''''''
+++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++''+'+''+++++++''';..`,'''':,'++#####+''';:;##+++++:'++++++++''',, '++++++++++++++++++'+'+'''++`.':;+';;;;';;';;:::::::::,,,,,,,:,::;';:.,''''''''''++++''''''''''''''';' ```..,:,:::,;;,.:::;;;;;;;;;;;;;;;;;;::::::::,:,,,,,.,,,,,,,,,,,,,,.,..,::`.;;;;;:;`;;;'';;;::::,,,,,,,.``.:::.:,...,.,::,.`.,,,,,,,,,,....`...````...``````````````  `````..```,.`.....  `;;;;;;;;;;;;;;::;:;;::::::::::::::::::::::::::::::;;;:;;:;;;;;;;;;;;;;;;;';;;;'''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''';'++++++'';,..`,';;.;+++######+''+##@#####++;`#'++++++'''::.,#+++++++++###++++''''';'+: ,::;';;;;;;;;:::::::::::::,,,,,::,;:. ``,''''''''''''''''''''''''''''';;;` ```..,,:::::,...,,;;;;;;;;;;;;::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,...,;:`,';;;;;;,`;''''';;:::::,,,,,:::;''';`,.....`,;;;:,,,,,,,,,,,,,,,,,,,,,,,,,,........``````  `````...```,``...,,  `,::;;;;;;;;::;;;;;;::::::::::::::::::::::::::::;;:;;;;;;.;;;;;;;;;;;;;;;;';;;;'''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';'''++++++';:,..`.'';.;++#######+'#########++++..+++++++''';,,`,'++++#++++++++++'''''++.`:::;;;;;;;;;;:::::::::::;;;:::,::;,``'''+';''''''''''''''''''''''''''';;;,  ````.,,::::::,,,:;:;;;;;;;;;;:::::::::::::::,,,,,,,,,,,,,,,,,,,,,....:;,`:;;;;;;;;``:;+++';;::::::,,,,:;;;:,...,,,:::,.,,,:::,,,,,,,,,,,,,,,,,,,,,,,,,.........```` `````....``..```..,,`  `;;;;;;;;:::::::;;:::::::::::::::::::::::::::::;;;;;;;;::;;;;;;;;;;;;;;;;;;;;;'''''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''';++++++';:,..`:+:.;'++#######+###########++';,'++++++''';,,`;++++###+++++''''''''++``;::;;:;;;:;;;::,;;;;;;;;;;;;;;;;;: ;+''';;';;'''''''''''''''''''''''''';;; `````..,,,,,::,::,:;;:;;;;;;::::::::::::,:,::,,,,,,,::,,,,:,,,,,,....,,:,,;';;;''';'```.;;'''';;::::;;;;;';:::,............,.,,,,,,,,,,,,,,,,,,,,,........`.```````` `````....```,`.``..,,.  :;;;;;;;::::::::::::::::::::::::::::::::::::::;;;;;;;;;;::;;;;;;;;;;;;';;;;;;;'''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'''+++++'';:..``:+;:'++#####################++#`'++++++''';:, `''++++++++''''''''++.`,;:;;;;::::;;;::;`:;;;;;;;;;;;:::;:`'+'''';;'''';'''''''';;'''''''''''';;;'. `````.,,,,,,,,,,,::;;;;;;;;:::;;::::::::,:,,,,,,,,,:,:::,,,....,....,::;;;;;''''''''`:,::;'''+';;;;;;''''';::::;::,,,,..`..,,::::,,,.,,,,,.,,,,,,....```````````````````````````.,`.` ``.,,``';;;:::::::::;;::::::::::::::::::::::::::::::;;;;;;;;;;;';,;;;;;;;;;;;;;''';'''''''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'`;+++++++++++++'';:..``,+'++++#####################++',:'+++++'''';,`.'++++++++'''''''++; .::;;;;:::::::::,:;';:;:;;;;'',';';`,+'''''''''''''';;;;;'';'''''''''''''';': `` ```.,,,,,,,,::::;;;;;;;;;:::::::::::::::,,,::,,,:,,:::,.,;'':`..,;;;'';'''''''''':`.`::::;;`';;'''''';:,:,,,,,:::,,,....,,,:,,::::,,,,....,,,.,,,,.````````.```````````````` `,.``  ```,:``';;;::::::::::;::::::::::::::::::::::::::::::;;;;;;;;;;:;#;.;;;;;;;;;;;;';;;'''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;'++++++++++++++';,.`.`.+++++######################++;,';++++++'';',`,+++++++++++''''+'` ,,:::::::,::::::,,:;;;;;;;',``.,.``.;+''';'';';;'''''';;;;;;;''''''''''''';'.```````.,,,,,,,,,::::;;;;;;;;;:;::;;::::::,,::::,,,,::,::,.:''';''';;'''''''''''''''';;:,`.`.,:::;.,''';;:::::::::;,,,.,.....:,,,,,,:::::::::,,,,,,,.......``.....``````````````` `. `` `````.. `::::::::;:;;:::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;+';.;;;;;;;;;;';;;''''''''''''''
++++++++++++++++++++++++++++++++#+'++++++++++++++++++++++++++++++''++++#+++++++++';,..``.++++#######################++':,+++++++''''..:;++''+++++++''+; `:,:::::::,,:::,,,.,;;;;;;',`,'';'''''';;'''';;;;;''''''''';''''''''''''''';'` ``````..,,,,,,,,:::::;;;;;;;;;;;;:;::::::::::::,:::::::::;''''''';''''''''''''''''+',,:,:;:,..:;'',,';,,,::::;;;';';,.....`.,,,,,,,,,,,,,,,,,,,,,,,,..............`   ``..````` ``` ````.....,,.,::::::::;;;:::::::::::::::::::::::::::;;:;;;;;;;;;;;;;;;'#:,:';;;;;;;;';''''''''''''''''
+++++++++++++++++++++++++++++++++# :+++++++++++++++++++++++++++++;;++++++++++++++;;,.```.++++########################++++##+++++''';,#:;++++++++++'+#, ,:,,,:::::,,,,,,,.,`;;;'':,:;'';;;;'''''''''''''''''''''''''''''''''''''''';;+ ``````.,,:,,,,::::::::;:';;;;;;;;;;:::::::;:.`.:::,::::;''''''''''''''''''+''++++''';``,.'+';;;'''';:::`.`,::::::;;;;;:,,,,,,,,,,,,,.................,,............` ` `````` ` `.. `````,,,,,,:::::::::;;;;:::::::::;::::::::::::::::;:::;;;;;;;;;;;;;;;;;+'#`.';;;';;;;;''';''''''''''''
+++++++++++++++++++++++++++++++++#'+++++++++++++++++++++++++++++++.;++++#++++++++':,````.++++#######################+++#+.##++++'''+++''+++++++++'+#. ,:,,::::.,,,,,.,,,..,;:';:;'''''';;'''''''''''''+++''''++''''''''''''''''''';: ``````.,::,,,:::::::::',.;;;;;;;;;::::::;;::,` `:::::;;'''''''''''''''''''++''+++'++''::;''''''''';;;;::,:,,:::::::,`,:;;;::;,.,,,,,...,,..,,,,,,,,,,,,,,,,,,::::,.```  `..` ``  `..``   ....``.,,:::::;;;;;:::::::::::;;;:::::::::::::;::;;;;;;;;;;;;;;;;;:##;,.;;;;;';;;;''''''''''''''''
++++++++++++++++++++++++++++++++++#++++++++++++++++++++#+++++++++;.:+++++++++++++'.``````++++###################+++++++++'#++++++'++++;.++++++++++#.`:,,::::::.::,,,,:;..,::';;'''''''''''''''''''''+'''''''''''''''''+'''''''''';'  .````.::::,,,,,,:::::;;;;;:;;;;;;;;::::;;::::`  :;;;''''''''''''''''''''++++++++''+'+++'';;''++';;:::;;;;;;;;;::::::.::::::::,.....,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,`  ``.``  ```.,```` `:,,,``,.,,:::;;;;;:::::::::;::::::;;;;:;:;;;;::::;;;;;;;;;;;;;;;;;;#+;;'.:';;;;;;;''''''''''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++':++++++++''''+++###+++++++':    ``+++++################+++++++++++++++++++++++#++++++++++##``,,,::::::::,,,,:;';:;::;;'''''''''''''''''''''++'''''''''''''''''''''''''''';'` ..``..::::,,,,,:;;:::;;:;';;;;;;;;;;:;;;:::;;;:,:;'''''''''''''''''''++++++++++'+'+++++:.::;;;;'';;;:;;;;;;;;:::,,::::,,,:::::,...,,,,,,,,,,,,,,::,,:::,,,,,,,......`    ``   `...,.` .,,,,,:..,,:,`,:;:;;;:::::;;;::;:;;::;;;;;:;;;;;;;;::;;;;;;;;;;;;;;;;;;'++';:`,';';;;;''''''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##+#+++'++;,`  ```';'++##############+++++++++++++'+#+++++++++'.#++++'++++ ,,,,::::::::,,:;'';,.:';+;'+'''''''''+++++'''''++++''''''''''''''''''''''''''''; ..``..,:::,,,,:,;;:::;;;;';;;;;;;;;;;;;,:;;':;;;''''''''''''''''+++++'++++++++++++++++''::`,'''''''''''''''';;:::,,,,,,:;;,,,,.,,,,,,,,,,,,,,,,,,,,,,,,,,...,,..`.````` `      `....```.::,,.``,::,`  ,;;;:::::::;:::::;;;;;::;;;;;;;;;:::;;;;;;;;;;;;;;;;;;;;'#+''##:`'';;;'''''''''''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####: ++'''',`  `` :.:++#############++++++++++++++,'+##++++++''''+'++'+#.`,,,,::::::::,,;',.``:;,,::'''+'''''''''''''++++++''''''''''++++++++++++'''''''', `.`...,::;,,,::::;;::;;;;'';;;;;;;;;;;;;;.::,,''''''''''''''''''++++++++++++++''++++++++'':;;';;;;'''';;'''';;;::::,,,,...```..,,,,,,,,,,,::,,,,,,,,.........,......``   ```   ``..,:.`` `,,.,`.:::;.  `;;::;::::;;;;:::;;;;;;:;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;++++#+#;,;''''''''''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####'+++'+',``````';'++#############+++++++++++++++#+##++++++'''++++'++` ..,::::::::::,:;`:###+++++++''+''''''''''''''++++'''''''''''+'++++++++++++++'''; `.,.,,,::;:,,:::;;;::;';;;;;;'';;;;;;;;';',  `;;'''''''''''''+++++++++++''+'+''+'''''''''',` .::,:::;::,:,:::;:::,,,,..,...,..,,,,:,,,:::::::,,,,,,,,........,,..`````````...`   `.,,:...```.` `.:::,`   ,;::;:;;;;:::::;;;;;;;:;;;;;;;;;;;;;;;;.:;;;;;;;;;;;;;;;;++++++#,'';''''''''''';;'''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+++++'';:...``+++++#############+++++++++++++++++##++++++''';'''+'` ,,,::::::,::::;;.++'++'++++++''''''''''''''''''''''+'''''''+++++++++++++++++++++; ,.,.,::;;;:,:;;;;;;;;';;';;;;;';''';;;''';:  ,;''''''''''''''++++++++++++''''''''''''';;;:.`.,:;.,;;;:::::::;:::,,,,,...,,..,...,:,.,:::,,,:,::,:,,,,.....,..````````.`  `...`   `..,.`.;,`..` ,:,:::,`  .;;:;:;;:;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;;;;;;;''++++++'';';'''''''''';`.'''''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++++'''':,...`++++#############+++++++++++++++++++##+++++';`;''+' `,.,:::::::,:,;',.#''+'+'++'''''''''''''''''''''''''+''''''''+++++++++++++++++++++;`,,,,,:;':,,;;;;;;;;;';;'';;;;;;;;'''''''''.```'''''''''+''+''+++'++++++''''''''''''''';::;::,:::,,;';,,:;;'';;;:,,,,,......``.``.``.,..,,,,,,,,...,,,.....,.,``,,.....````.,.`   `..,.,:::..:.``,.,:::.   ,;;::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''++'+'';''''''''''';;,:;;;''
##++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'.;++++++++'''';,....'++++######@#####+++++++++++++++++++##+##++''`;+'' `.,,::::::,:;,:,,;+'''+++'++++'''''''''''''''''''''+++'++++++++++++++++++++++++''+'' :,:,:';,,,:''';;;;;;;;;;;;;;;;;;''''''''':,:;:,''''''++++++++++++++++''''''''''''''''';;::;::;::;;''',.;;'''''::,:,,,,...,,.`  `  ...,.....```````````......   `.,,,,........``   .,.`,:::,..,.`.::::,`  `.;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''+''';;''''''''''';,:::,;''
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++:'+++++++++''';:,..,;;:++######@######+++++++++++++'''+++++++++'';+'+ ``:,::::::,;:,;;;#''''''+'''''++'''''''''''''''''''''''''''''++++++++++++++++++'';;' ,:::;';::,;''''''''';;;;;;;';''''''''''''';'''+'''''+++++++++++++''''''''''''''''';'';;;:::;;'+++'''';;;''''''';:::,,,,,,,,..`    `.,,,,,,,.,,.`  ``` `.,..... `.....,...,..,.```  ````.:::,,,,:. ,::;::` `:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''+'''';;;';'''''''';:`.`:'''
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++++''';:,.,,,,,'+#####+`##+++++++'+++++++++';`:++++++++''+'+ ``:,:::::::;:''+++'+'+'''''''''''''''''''''''''''''''''''''''''''''++++++++++++''';' `,;;;':,,,';''''''''';;';;;;''''''''''''''''''''''+++++'++++++''''''''''''''''''''''';;::;::;''''''';;;;'''';;::::::,,,,,,,,,.`    ``.,,,,.```,,,.`` ``````.,,.`......`......,,::. ````.:::::,::,```:;:;;.  ,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''':,'';;''''''''';''::` .:;''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++#++++++'';:,.,,.++++######+##++++++''++++++++++';'++##++++':.':  ,:::::::;;;'''''''+++''''''''''''''''''''''''''''''''''''''''''''+++++++''''''';':  ,:;;;:,,:''''''''''''''';;'''''''''''''''''''++++++++++++++'''''''''''''''''''''''''';:`,:::;;;;;;;;;;'';:::::::::::,,,,..,,,.`  ` ``...,,...,,......```     ```....,.`..,::::,:.```...,::::::::.`   .;;;.  `;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''+.`''''''''';'''''';:`.`:;''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+#+#+++++''';,,,,.++++#########+++++'''+++++++++++:'####++++'+'+  ,:::::::;;;'''''''''''+'''''''''''''''++'''''''''''''''''''''''''''+++++'''';';:;'` ::;;;,,.''''''''''''''''''''''''''''''''++++++++++++++++++''''''++'+'+'''''''''''''''';;:::;;;;;;;:;;;:,.,,::,,,,,,,,,,........``    ....,,.......```...```  `   ....,...,,,,,,:. `....,.,::::::::,.`  `,,  ` ,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''';''''''';'''''';,,.:,;''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++':#+#++++++''';:,,,,;++##########+++++'''+++++++++++'.####+++'';', `:::;;;:;;''+''''''''''''''''''++++'+++'++'''''''''''''+''''''''+'++++++'';;;;      ,:;',.,:'''''''''''''''''''''''''''''+'++++++++''+++++++'+'++++++++'+''''''''''++''''''',.;;..;'''''';:,,,,,:::,,,,,,......,,,,` ``````................`````      `,.```......,,.` `....,,::;;;;:::;::,.`      .;;;;;;;;;;;;;:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''';;;'''''''''''''';;: ;;'''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+''++:#+#++++++'';:,::,:#+##########+++++'''+++++++++++++#+#++++++ +  :::;;;;;;''''+''''''''+++++++'+++''''+++++'+''''''''''''''''''++++++''';;;:;;`   ``:;;;``;+'''''''''''''''''''''''''''+++++++++++++++++++''''++++++''''''''''''''''''';''''':,;,`:'''''++';,:::,,,:,,,,,,.......,,.`,.....``.....................```````` ,,,.......````..,,:::;;:;::::::::::`  `` ,;;;;;;;;;;;;:.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''';''''''''';'''''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+'++','++++++++'';:,,:,.#++##########+++++''++++++++++++++###+++'''; .:::;'..,'+'''''''++'++++++++++++++''''++++++++'''''''''''''''+'+++'';;;';::`  `...,:;,.`:+''''''''''''''''''''''''+'+'+++++++++'+++++++''''''++++''''''';'''''''''''''''';'';;:.:'+++,.::;,`;::,::::,,,,,..`....,..,,,,,.,,`...`...`.``...........`   ` ``,',::,`...`` `...,,::;;;;;::.:::::;:.``  `;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''';'''''''''''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''++++++++'++++'';;::::.'##+#########+++++''+++++++++++++'+++++++'': ,,;;,`;#++'''''++++''+'++'''+++.++'''''''''+++++''''''''''++++++++';;;:`      `....,::`.:+'''''''''''''''''''''''''+'+'+++++++++++++++''''''++++++''''''''''';;''''''+++''''''';:;;::;::;;;;;:::`,::,,,,,..,,,,,,....,....`..```.........``.`.......`    ``   ::,``.`````..,,:::;;;::::.`:;::::::,` `;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''';;''''''''''''''''''''''''
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++++''''''';+';::,,:`#+#++#######+++++';'++++++++++++.'++++++'':`,;,`'+++'++++''++''++++++'+''++'+''''''''''''''''+''''''+++++++''';'`        ```...,...''''''''''+'+''''''''''''++'++++++++++++++++++++++++++'+''+'''++++++''''+++++'''''''''';::;;;;;;;:::,,,,,,:::,:. `,,,,,,,,,,,,,,,,,.``` `...........``.``.....,:`    ,:.....````..,,:::::;;;;::::`.:::::::;:``;';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''';''''''''''''''''''''''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++';:;;;'':`;;:,,,,,#+#+#+#####++++'''+++++++++++++#####+++'' .:,`#+'++++++++++'++++++++++'''''''''''''''''''''+++++'''+++++++'';:         `````....;''''+''''+++'''''''''''''++++++++++++++++++++++++++'''''''''++++++++++''++++++''''+++''';;;;;;;;;;;;:::::,:::::,. ,;:,,,,,,..,,,,,,.,`  ..............``` ,:::::;,  ``,:,.``````.,,,,:::;;;;;;;::,`,;:::::;::,``.:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''''''';;''''''''''''''''''';;+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++';`:;;'';,+;:,,,,.,#+++++###++++++''+++++++++++++++#++#++'+ .:`#+++'++++++++++++++++++++''''''''''''''+++++++++++++++++++++'''`   ``` ```````:';'''''''''+++++++++'++''++'''++++++'++++++++++++++''''''''''''''''+++++++++++++++'+;.;'+'''';:;;;:::;;;;::::,:::::`   `:::,,,,:,,,,,,,,,,`  .........`......```.,,,,:,` ::::,,.  ```.....,,:::::::::;: `.;:::::;,:`  `.';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''';;''''''''''''''''''''''''';,+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+++++++++'::;:;''+''::,,,..`'#+#+##+++++++''+++++++++++++'.++++++'+ `.@++++++++++++++++++++++++++'''++++++''''++'++++++++++++++++++''.  ....``  ..,:'''''''''''''++++++++++++'''++++++'+++'++++++++++''''''''''''''''''''+++++++++++++++++;.:;;;;;;::::;:;;;;:::::::::;:;.    ,:,:::::::,,,,...,````......`.````````.,``,..,.``,....``   `........,,,::::::::``,;:::::.`.`    `';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''''';''''''''''''''''''''''''''+'
+++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';:``;'''+;;::,,,.,`'#+#+++++++++''+++++++++++++;,++++++'+,:#+#++++++++++++++++++++++++++++++++++++++++++++++++'++++++++''+.  .``.`,:';::;'+''''''''''+++++++++++++++''++'+++++++'++'+'''''''''+''''';;;'''''++++++++++++++++++` +'';;;;;;::::::;;;;:::::::;;:;`    `;::::::::::::::,,`..```.....`.`````````,.`....``..`.````   `.,,:,,..,,:::::::::``;::::::,``` `   .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''';''''''''''''''''''''''''''''''+
+++++++++++++:+';'++++++++++++++++++++++++++++++++++++++++++++++++++++++++';';:.:;''''+;;:,,:,,. #+##+++++++'''+++++++++++++'.;+++++;.+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+,` ..,::;'';''''''''''+''+++++++++++''+'++'++++++++++++'''''''''+''+'''''';;;'''''++++++++++''''+++''::';';;;'';;;;;:::;;;;;::,::..``,: `,::::::::::::::::::::::,,...........`````...,..`..`...````    ``.....,,,:::::::::``:;:::::;::;. `` `;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''''''''';'''''''''''''''''''''''''
+++++++++++++...`+++++++++++++++++++++++++++++++++++#+++++++++++++++++++++++'';;;;''++'';::,,,,,`++++#+++++'+''+++++++++++++';++##++'..++++++++++++++++++++++++++++++++++++++++'''+'+'';''''+'''''''+.  .,:;;'''''''''''''+++++++++'++''+''''''''+++++++++'++''''''''''''''';;;;;'''+++++++++'';'',;;:++++,,++++',.''+'';,:::;;;::,,,.`  .:,:`:,,,,,,,:::::::::::::::::::,,,,,:,,,,,::;:.,  `,......,,.,:. ..``.`...,,,,:::::::;``.;;;:;::;:.` `  `:;;:';;;;;;;;;;;;;;;;;;;;;;;;;;;'''''+''''';''''';'''''''''''''''''''''''''''
++++++++++++': `;++++++++++++++++++++++++++++++#+++++++++++++++++++++++++++++';;;;'''++'';:,,::,.;'+##+#+++++''+++++++++++++++++##+++''++++++++++++++++++++++++++++++++++++++++''+''';;;;;;;;;'';'+:`  ,:;;;;'''''''''''''++++++'+++'''++''''''''+++++++'''+''''''''''''''''''''''+++++++++++':.''.:,.'+++;;++++';:'++'''`,:;;;;:,,,,,,.`:,:``,,,,,,,,,,,,,,...,.,,,,,,,,,,,,:,,:,::::;.`   .:,,,,.```.`,` :,,,.``.,,,,,::.``````.::;;:::::::``    `:';;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''';`;'';'''''''''''''''''''''''''''''''''
+++++++++++++.` ,+++++++++++++++++++++++++++++''#+++++++;+++++++++++++++++'+++';''''+++';;:::::,,+,.;,+;#+++++++#+++++++++++'+++#+#+'++++++++++++++++++++++++++++++++++++++++++'''';;,..,;';;'''+:  ``::;;;;''''''''''''++++++''++'''''+++++''++++++'''''''''''''''''';';''''''+++++++++++++++';''''''''++''++''';'''''';;,.:;;;:::,....,,..`..,,,,,,,,,,,,,,,,,,,,....,,....,..,,:;;;;. ,;:::,,......`    `...`  `.,,,::::` ` ` .;:;;;;:;;;;:`,;:. `;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''': :'';'''''''''''''''''''''''''''''''''
++++++++++++':::,+#+++++++++++++++++++++++++++#;'#+++#+:+#++++++++++++++++++++''''''+++'';:::,,,+';:''+,;#+++++##++++++++++++;.;..++'++++++++++++++++++++++++++++++++++++++++++++';'      .:.`    `..,,:;;''''''''''''''++++''''''''''''''''''++'''''''''''''''''';;;;;;''''+++++++''''''+++++''''''''''''''''''';'''''';;;:;;;;::,,,,,,,``,,,,.,,,,,,,,,,,,,,::::::::::,,....`..:``.`:::,...`````..,,`` `  ````   ```.,:::` `.  `:;;;;;;;;::,;;;;;`` ;';;;;;;;;;;;;;;;;;;;;;;;;;'''''''''''';;'''''''''''''''''''''''''''''''''
#+++++++++++++++#+++++++++++++++++++++++++++++++.:';;;.'#+++++++++++++++++++++''''''++++';::,,:;++''++++++++,:+++++++++++++++',;+#++'+++++++++++++++++++++++++++++++++++++++'+'';'+, ```        `......'''''';:''''''''''''''''+'''++'''''+++++++++''''''''''''';;;'''''''+++++++++'''';';'''''''''''''''''''''''''''''';;;;;;,,,.,.`..,,,:,,,,,,,,,,,,,.,....,,,,:::::::,,,,,,,,.   `,..``````````...        `   ````.::::``,;.``,:;;;;;;;;;;;;:;;:. ``;';;;;;;;;;;;;;;;;;;;;;;''''''''';;;';''''''''''''''''''''''''''''''''''
#+++++++++++++++++#+++++++++++++++++++++++++++++#`.,.`'#+++++++++++++++++++++++'''''++++'';:::,#+++++++++++++++++';+++++++++++''++++''++++++++++++++++++++++++++++++++++++''''';;'' ````.``    ``````;+''''''` .''''''''++'++''++++++++++++++++''''''''''''';;;;;;'''''+++++++++++''`:'..::'''''''''''''''''''''''''''''';;;::,,..` `...,,,,,,,,,,,,,,,,.,.....,,,,,,,,,,,...,,,,:`  ``````  ``......```  ```  ````.,,``,,.``,:::::::::;;;;;:;;;;:;;'`  `:;;;;;;;;;;;;;;;;;;;;;'''''''';;;;'''''''''''''''''''''''''''''''''''''
#++++++++++++#++#++#+++++++++++++++++++++++++++++;` `,;++++++++++++++++++++++++''''''++++';:::,;+++++++++++++++++'`;++++++++++++++++'+++++++++++++++++++++++++++++++++''''';';`..   ``....,.,::';;;'+''''''''. ,'''''''+'':'+++++++++'++'''''''''''''''''';;;;;'''''''++++++++++++''.:;,,.,''''++'''''''''''''''''''''''';;::::,``..:,,,,:,,,,,,,,,,,,,,,,.,,,,,,,.........`.,,,,,.  ````````````.,:;:;: `.,.`   ``::;:` `  `::;:::::::::;;;:;;;:;;;:``   ,;;;;;;;;;;;;;;;;;;;;''''''''';''';;''''''''''''''''''''''''''''''''''
##+++++++#+++#++#.#+++++++++++++++++++++++++++++':` `,:++++++++++'+++++++++++++''''''++++';:::,,++++'+++++++++++++;'++++++++++++++++''++++++++++++++++++++'''''''''''''';;;'.      `..,,,,,:;;;;;;;;''''''''';;'+''+''''''+'+++++++++''''''''''''''''';;;;;;'''''+++''+++'++++++''';;;;;;;;;'''''''''''''''''''''''''''''';::,``.,,,,,:::::::::::::::::::,,,,,,,,,,.....``..````..`   `````````.`..,,,.` .,,,.`   ::,,::` ```::::::::::::;;;:;;;;;;;;,`   ``;';;;;;;;;;;;;;;;;'''''''''';;'';'''''''''''''''''''''''''''''''''''
##+++++++++++++++++++++#+++++++++++++++++++++++++:` `.'+,++#+++++++++++++++++++''''''+++++';::,,+++'''''+++#++++++'`;+++++++++++++++''+++++++++++++++++++';+,.'';''''';;'''  ``` ``..,,,,,;;;;;;''''''''''''++''''+'''''+'''+++++'''''''''''''''''';;;;;;;''''++++++;.''';''++++++'''';;';';''''';:'''''''''''''+'''''';;```  `,,,,,,,,,,,,,,:::::::::::::::,,.........```````````` `  ```````.,::;;::::` `````  `,,,,,:.``  `:::::::::::;;;;;;;;;;;;::,`  ``;';;;;;;;;;;;;'''''''''''''''''''''''''''''''''''''''''''''''''''''
+#++++++++++++++++++++++++++++++++#'#+++++++++++# ;:; ;+:#++++++++++++++++++++++'''''+++++';::::;,+':;''''+++++++,;:'++++###++++++++''++++++++++++++++++''+    ,'';;;;;::.  `````.....:'''''''''''''''''''''''''+'+''++++++++++''''''''''''''''';;;;;;;;''''++++++++;.;':`;'''''+++''''''';:''''':`;''''''''''''''''';;;:` ``````...,,,,,,,,,,:::::,,:::::;:::,,,.....,...`````..` ``   ````......`....,`       ``.,,,,::.  ```.,;::::::::;;;;;;;;::;;;;;.    :';;;;;;;;;;''''''''''''''';''''''''''''''''''''''''''''''''''''''
+#++++++++++++++++++++++++++++++++#`#+++++++++++.;';'+`+#+++++++++++++++++++++++'''''+++++'';::::'+;.;';.;'':#;,+.;++++++#+#++++++++''+++++++++++++++++';+.                 ```...,,,:''''''''''''''''''''''''''+++++++++++++++++'''''''''';;;;;;;;;'''''+++++++++++'''';::;'''''''''''';'''''''';:;'''+''''''''''''';;:...,,`` ``   `....,,,,,,,,,,,,:,,,,,:,,,,..,``,,,,::::,`` `.`` ``````..,,:,...```       `.,,,,,:::`` .:,.,,::::::::;:;;;;;:;:;;;:;.  ` ;';;;;;;;;;;''''''';'';''';;'''''''''''''''''''''''''''''''''''''
+#+++++++++++++++++++++++++++++++++#+++++++++++;'##++++,+#++++++++++++++++++++++'''''++++++';:::,'';:;',.;+':++;++++++++++++++++++++;'++++++++++++++''''+: `             ````...::;;'''''''''''''''''''''+++++++++++'+'+++++++'''''''''';;;;:;;;;;;'''+++++++++++++++'''''';''''''''';;;'''''''''''''''''''''''''''';;:,,,,,,..`` `  ````......,,,,,:.`.```.``,......`,:;:::,,.   ```````......,:,,,,.`         `,,,,,,,,::,``,::;,.::;;:::;:;;;;;;;;;;;;,``  ` ;';';;;;;;''''''''''';''''''''''''''''''''''''''''''''''''''''''
++++++++++++++++++++++++++++++++++++++++++++++;+##`'++++;+++++++++++++++++++++++''''''+++++';:::::+''''''''++++#+++++++++++++++++++':;'''''+''''''''''+'` ```.``           `,:;;;;'''''''''''''''''''''+++++++++++++''''+''''''''';;;;::;;;;;;;;'''+++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''';;::,,,,,,,,,,,,,,,:,`.,,,,,,,,::::. `````.,....``````         ``````...,,::::,..,,,          .,,,,,..:,:;;.`.:;:.:;:::::;;:;;;:;:;;;;;,:``  `;';';;;;'''''''''''''''''''''''''''''''''''''''''''''''+''''''+
+++++++++++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''+++++';;::::+'''''++++++++++++++++++++++++++++;;;:;'''++;:;::,..   ``..````....,,,,:+''''''''''''''''''''''''''+++++++++++++++++'''''''';;;;;;;;;;;;;;;;;;'+++++++++++++++''''''''''''''''''''''''''''''''''''''''''''''''';.::::,,,,,,,,,.,:::,::::::::::::::::,    `.,,,....`` `             ``.,,,::,........`         `,,,,,,,.,::::::, `````,::::::;;;;;;;;;;;;.,,``  `'';;;;;'''''''''''''''''''''''''''''''''''''''''''''''+''''+++
++++++++++++++++++++++++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++''''''++++++';::::'''+''++++++++++++++++++++++++++:                     ```,`.,`.,::;;;;''''''''''''''''''''''''''''''''+++++'+'++++'''''''';;;;;;;;;;;;;;;'';:;'++++++++++++++++''''''''''''''''''''''''''''''''''''''''''''+:,``::,::,,,,,,,,,.,:::,,,,,,::::::::::,.`   `.::::::::,.``              ``.,:;:,....```` ``      .,..,,,,:,::::;:;:`,;;;:::::;;;:;;;;;;;;;:;;;;`  `:';;;;''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+++++++++++++++++++++++++++++++++,`:+++++++++++++++#+++++++++++++++++++++++++++++''''+++++++'';::::''+++++++++++++++++++++++++++++.               ``  ` ...:;;;:::;;;;;'''''''''''''''''''''''++++++'++'+++++++'''''''''''''';;;;;;;;;;'''''''.:+++++++++++'''++'''''''''''''''''''''''''''''''';''''''''+#:`.,:,;:;:,,,,,,,:::::,:::::::,,,,,,,,,,,,,.`   `.::::::::::,.``        ``............``....,,:,`    .,,,,,,,,`:::::::;`:;::::::::,;;;;;;;;;;;;;;;;;.  `;;;;''''''''''''''''''''''''''''''''''''''''''''''''''''+'+''
+++++++++++++++++++++++++++++++++,`:+++++++++++++++++++++++++++++++++++++++++++++''''++++++++';::::''++++++++++++++++++++++++++++'+ ```         ```````,.,:;;;:;;;;;';''''''''''''''''''''++'++'++++++++++++++''''''''';;;;;;;;;;;;;;;;'++++'''''+++++''''''''+ ''''''''''''',;'''''''''''''''';;;'''''';  `,;:;;:::,.,,,,,::::::;;;:::::::::::,:,,,,,.    `,;:;;::::::,..`     ```...............` ``....``    `,,,,,:::;:.:;:,::`.::::;;:;;:.:;;;;:;;;;;:;;;':   .'';'''''''''''''''''''''''''''''''''''''''''''''''''''''+++'
++++++++++++++++++++++++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++++'''++++++++';:::,+'++++++++++++++++++++++++++++'':`,::`         `.,,,::;;;;;'''''''''''''''''''''''++++++++++++++++++'++''''''''';;;;;;;;;;;;;';';;.,'+++++'''++++'''''''''''+''''++++++'':`,'''''''+''''';;;;;;;;'';'+.`,:::;::::,,.,,,,,,:::::::::::::;;;:::::,:,:` `    ,::::::::,.`    `````...............``              ...,,,,::;,`,:::,` `;:,::;;:;:::;;;;:;:;;;;;.` ` ` ;'''''''''''''''''''''''''''''''''''''''''''''''''''+''++++'
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'''++++++++';;::;''+++++++++++++++++++++++++++++++.`';';:...,:...`.,:;;;;''''''''''''''++'''''++++++++++++''+.+++''''''''''';;;;;;;;;;;;;;;'''''''':;'+++++++'++++++''''''''''''''++''''''',;'''''''''''';;;;;;;;;;;;,`.::::::::::::,,,..,::::::::::::::::;::::::::,..` ``  `                 ```...``.........`              `,,....,,,,:``::::,  .::::::;;;;,:;;;;;;::;;:;,.`   `';;''';'''';;'''''''''''''''''''''''''''''''''''''+++'+++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++++++'';::+''+++++++++++++++++++++++++++++'''`:''';;;;;;;;;;;:;;;';'''''''''''''';.#+++++++++++++++++'++++'''''''';;;;;;;;;;;;;;;;''''++++++''''+++++++'++++++''''''''+'''''''''+'''+'+'''''''''''''';;;;';;;;,`;::,,,,...,,:::,,.,::::::::::::;;;;;;;;;;:,.,::::;:,,````               ```................`       ``.` `,,....,....`:,,::,  `.::::::;;;::;;;;;;,`::;;;;':  `:';''';'''';;'''''''''''''''''''''''''''''''''''''++''+++++
++++++++++++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''++++++++++';:'++'+++++++++++++++++++++++++++++++''`#'''''';;';''''''''''''''''''''''+: +++++++++++++++++++++'+'''';;;;;;;;;;;;;;;;''''+++++++++'''''++++++++++++++'''''''''''''''''''''''''''''''++'+''++++'';.;.```;:,,,,.....,,::,,,,,,,:::::;:;;;;;;;;;;;;;,.:;;;;;;::,,,.`             `...,,,............,`    `  ``..  .,...,,,.   :,:,::.`::::::::::::,;;;;;;;;:;;;:;;':` `'';;;;''''''''''''''''''''''''''''''''''''''''++'+'''+++++
#+++++++++++++++++++++'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++++'+';::++'''++#+++++++++++++++++'+++++++++;'','+'''''''''''''''''''''++++++++++##+++++++++++++++++++''''''';;;;;;;;;;;;;;;;'''+++++++++''''''+'++'''''''''''''''''''''''''''''''''''''''''++++''+' ;':,``.,;';::,,.......,,:::,,,,..:::,:::;;;;;;;;;;;;;;;;;;;;;:::,`  ``         ```.,,,,,,,,,,,,.,,.,.```          `........,,`  `,,,,,,:::.:::;;:`;:`:;;;;;;;;:,;:;;;':  ';;;;;;'''''''''''''''''''''''''''''''''''''''''''+''+++++
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++++'';;::++'+++::+++++++++++++++++++++++++++''++:;+'''''''''''''''''+++++++++++++''+++++++++++++++++'''''''';;;;;;;;;,,':;';;'''''+++++++''''''''''''''''''''''''''''''';;;'''''''''''''''+++++''''+, ,,:'''';;::,,......,,,,::::,,,:,;::`,;;;;;;;;;;;;;`.`.::;;:::,,,,```.`         ````.......,.,,,,,,:` ,;.`     `.,,,,,,,,,,,,`  ``,,::::::,::::;:`.``,;;;::;:,:,:;;;;;`  .';;;;;;'''';;''''''''''''''''''''''''''''''''++'+++++++++
#+++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''+++++++++;::++''+++''+++++++++++++++++++++++++++;'++#;,'''''''''''''++++++++++++++++++''++''++++++++++++'''''''';;;;;;;;;:,;.';.;;,,''''''''''''+''''''''''''''''''''''''';;;;'''''''''''''+++++++++'':,:+''';';;;:::,,...,.,,,:::::::::::::::::;;;;;;;;;;;;''';;;::::,,,,,,,,......`````````````...........,. ,:,     ,:,,,,,,,:::,.` ```:,,,:::::::::::;:.``:;;;:::;::;::::.     ;;;;;;'''';;;''''''''''''''''''''''''''''''''+'''++++++++
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+#+++++++++++++++++++''+++++++++''++''''+'+++++++++++++++++++'++'++++++''+++++:;''''''''''++++'+++++++++++++++++'+'+++++'+''''++''''';';;;;'''''''''':``;:,''''++''+''++'''''''''''+''''''''''''''';;;''''''+''++++;'+++:;'.`,;;;;'';';;;::,,,,,,,,,,:::::::::::,::::::;;;;;;;;;;;;;;;;;:::,,,,,,,,,,,,,,,,:::::;;:...````.```.`.``.. ``     `:,,,,,,,.....` `,,,,,:,,:::::::::::;:` ,;::::;::.;,``` `   `;;;;';'''''''''''''''''''''''''''''''''''''''+'+++++'++++
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+#++++++++++++++++++++'+++++++++++++''''''+++++++++++++++++++'''''+++++'+++++++';+;,''++'+''++''+'';;++'++'''''+++++'+++++++++''''''';;;;;''+++++++'';:.;';''''.'''''''''+'''''++++'''''''''''''''''';;''''+'':.:.    `.` .:;';;;''';;;:,,,,,,,,,:::::::::;;;::;:::::::;;;;;;;;;;;`:;;::::::,,,.,:,,,,,,,:::::::::::,:,....````.```         `::,,::,,,,,,,,, .:,::,:,::::::::::::::.``:;:;;:;.`,;:`;,``` ,';;;;;''''''''''''''''''''''''''''''''''''''+++'''''+++++
++++++++++++++++++++++++++++++++++++++++++++++++++++###++####+#++++++++++++++++++++'+++++++++++++''''+++++++++++++++++++++''++++'+++''+++++++'+;`;+'+'+''+++'++'..''+'''''''';++++''++'+:'+`,.;''';,;,:''++++'++''';;''''''';''''''''''.'+'''+'+''''''''''''''''''';'''''+'#: ````,:::''''';''''';;:,,,,,,,,,::::::::;;;;;;;;,`:::::;;;:;;::;,` .;:::,:::,:,,:::::::::::::;;:,.,,,,,,,,.,....,,,`.``      `.:,:::,:::::,.`.,::::::::::::::::::;;:``.;:;:;::,`,,`::````.;;;;;;''''''''''''''''''''''''''''''''''''''++++:.+''++++
++++++++++++++++++++++++++++++++++++++++++++++++++##############+++++++++++++++++++'++++++++++++++'''+++++++++++++++++++++''++++'+++''+++++++'+''''''+++++++++';;;''::;'''+++'+',++'+'.'::';;.::'';.',:'''''''''''''''''''''''''''''''+''''++++''''''''''''''''''''''''''';,`` `.;:;;'''''';;;;;;::,,,,,,,,,,::::::::;;;;:;;;,`:;,`.:..:::::: ` ,:::,,,,,,,::::::::::::;;;;::,.,,,,,,,,,,..`` ,;;`,:`     ``,,,,,::,:,,::::,:::::::::::::::::::;::``:;;::;:.:;:`,;,`` `';;;;;;;;''''''''''''''''''''''''''''''''''''++',`'+'++++
++++++++++++++++++++++++++++++++++++++++++++++#############++###+++++++++++++++++++'++++++++++++++'''++++++++++++++++++++'''++'+''++''+++++++++''+;;'+,+++++'':.;'':..:''++++''':,'';';;;;;''+'::;''.:';,;''''++'+'''''''''''''''''''''+'+''````'+'''''''''''''';''';';;. ``.,;';;;''''''';;';;;::,,,,,,,,,,,,:::::::;;;;::;;;';..;::,,,,::,``.,..``.....,,,,:::::::::;;;;::,.,..,.`,..```::.``         ``.`...```....,,,,,,,,,,,:::::::::::::::::.`.:;::::,;:;;.,,.` `';;;;;;;;'''''''''''''''''''''''''''''''''''+++'+++'+++++
+#++++++++++++++++++++++++++++++#+++++++++++###############+###+++++++++++++++++++'''+++++++++++++'''++++++++++++++++++++'''++''''++''++++++++++''++++'+'''''':,;'';;''';.;.,;.,';;:`,,.:''''++'.:++++':,,;++++++''+'''''''''+++''''''''''+::.  ;+''''''''''';;;';;;:..`,:;'''''''''''''''';'';:::,,,,,,,,,:::::::::;;;;;;;::;;;:;:::,,:::::..,....`  `.,,,,,,::::::;;';;;::``:,.,,.,,,..,..,,,.`      `....``````.......,.,,,,,,,,,,::::::::::;;...``:;:::::::;;``.` `;;;;;;;;;''''''''''''''''''''''''''''''''''''+++'++++++++
##+#+++++++++++++++++++++++#+++++++++++++++###############++##++++++++++++++++++++'''+++++++++++++'''++++++''+++++++++++''''++''''++''++++++++++++++++++++++''''''''+''';,;::;.,;'';`::,'+'++++++++++++''.;;+++++'+;'''''''''''''''''''''''++++++''''''''''';::::::.```,''''''''''''''''''';';::,,,,,,:::::::::;;;;;;;;;;;;;;;;;;:::,,::::::,,.....`  ,,,,,,,,::::;;;;;';;;;:::.:,,:,,..,...`````     .,.,,,``````.....`.,.,,,,,,,,,,,,,:::::::.`.,:,.`.::::::::,```` `;;;;;;;;;''''''''''''''''''''''''''''''''''''+++'++++++++
##+#+++++++++++++++++++###+####+####++++########################++++++++++++++++++'''+++++++++++++'''++++++''+++++++++++''''++''''++''+++++++++++++++++++++''+'''++++++'''';;;;''''',:''++++++++++++++++''+:'+++'''.'''''''''''''''''''''''+'''''+'+''''''';;::.````.`,';;''''''''''''''''';;::,,,,,,,,,::::;;;;;;;;;;;;;;;;;;;;;::.:::::::`.,...``  `,,,,,,,,,:::;;;'`:;;;;;'`    ````;;;;;;:::`    `,.,,::,,,,.....,,``,,,,,,,,,,,,,,:::::::: `;;:::::::::::::````` .';;;;;;;;'';'''''''''''''''''''''''''''''++''+'+'++++++++
##+#++++++++++++++++++++++#+++++++#++++###########################++++++++++++++++'''+++++++++++++'''++++++++++++++++++''''+++''''++''++++++++++++++++++++''+''''+++++'''''''''''''''''+++++++++++++++++++++++++'''''''+''+'''''''''''''''''''''';`;''';;;;;;;;,```.,,;''''''''''''''''''';;:::,,,,,,,,,:::::;;;;;;;;;;;;;;;;;;;;;;;;::::,...,,.`   .,,,,,,,,:::::;;;;;:;;;;;:...,::::,:` `.,;;`     `,``,,::::,.,,,,,:``,,,,,,,,,:::::::::::::.`;:;:::::::::::;;```` `';;;;;;;;;'''''''''''''''''''''''''''''''+''+++++'+++++++
+#++++++##+++++++++++#++++++++++#++++#############################++++++++++++++++'''+++++++++++'+'''+++++++++++++++++++'''+++'+''++''+++++++++++++++++++++''+++++++''''''''+''''''''''++++++'++++++++++++++''+++'''''''+'+''''''''''''''''+'''+: `+''''''';;;:,,:;'''''''''''''''''''';'';;::,,,,,,,,,,,,:::::;;;;;;;'';;;;;;;;;;;;:::::,,,,. `  `..,,,,,:::::;;;;::::::::;;;;;;::::;;'`          ``.:,. `````...,,,,`.::::::,,,,,,::::::::::::`:;::::::::::::::.``` .;;;;;;;;;;'';'''''''''''''''''''''''''''''''''+++'''+++++
##+##+++++++####+++++#+++++++++++++++############################+++++++++++++++++'''++++++++++++:'+'+++++++++++++++++++'''++'''''++''+++++++'++++++'++'+++++++++++'''''''+++++++''''''''++'''''''+++++++++++++''''''''''+'''';,;'''''''''''+''',+..;:,';;;;;;;;;;;;''''''''''''''''''''';;::,,,,,,,,,,,,:::::::::;;;;;;''';';;;;;;;::::,,,..`   `.. .,:,::::;;;;::,,,,,,::::;;:;;:;;;:.        ``..,,,,,::,,....,,,.``,::::,::,::::::::::::::::.`..,:::,...,:::;. ````';';;'';;;'';'''''''''''''''''''''''''''''''''+++'+++++++
######+++++#++++++##+++#+++++++++#+++++###############+######+#+++++++++++++++++++'''+++++++++++'.''+++++++++++++++++++''''++'''''++''+++++++++++++++''+++++++++''''''+++++++++++++'''++++++++''+++++++++++++++'''''+++++'++'':.:''''''''''''''',,'` .;;;;;;;;;;;;;;;;'';''''''''''''''';;;::,,,,,,,,,,:::::::::::;;;;;;;;;;;;;;;;;;::::,,,..` ``,,,.,::::::;;;;:,,,,,,,,,```    `:;;'       ` `....,,,,:,,::,,,,,,,,..,,:::,:::::::::::::::::::.``  ````    ```.      ,;,:;;;;;;'''''''''''''''''''''''''''+'''''''++++'+++++++
##########++##++++++++++#++++++#++++++++###################+++++++++++++++++++++++'''++++++++++++'''+++++++++++++++++++''''++'''''++'''+++++++++++++++++++++++''''''''++++++++++++++++++''++'+'''''+''''+'''+++''''''+++++:.''';;''''''''''''''''.``;';;;;;;'''''';;;;';;''''''''''''''';;;::,::::::,::::::::::::;;;;;;;;;;;;;::::::::::.`...,....,,,::::::;;;;;:,,,,,,,,,,,,,,`  `:':      ````...,,,,,,:,,,,,,,,,,,,:,,,,,,,,,,,,,,:::,,,::::::::.` `,.``            .:`.;;;;';,''''''''''''''''''''''''+''''''+++''++++++++++
##+###+#######++++###++++++++++#++++++++###############+++++++++++++++++++++++++++'''++++++++++'''''++++++++++++++++++++''''+';''''++'''+++'++++''++++++++++'''''''''+++++++''++'+++++++'''''''''''''''+'+''+'+'+'''+++++'++''''''''''''''''''';,.;'';;;;;''''''''';;;;;;;;'''''''''''';;;;::`.::::::::::::::::::;;;;;;;;;;;;;;::::::,:.`,,,,,,,,,,,,,::::::::::::,,,,,,,,,,,,:::           `` `..,,,,,,,,,,,,,,,,,,,,,:,,,,,,,,,,,,,,,,,:,:::::::::  `;:..```         `':;;;;;', :'''''''''''''''''''''+''''+'''++++'++++++++++
##+##################++++++++++#+++++++++++++#+#++++++++++++++++++++++++++++++'+++'''++++++++++'''''++++++++++++++++++++''''++'''''''''''''+'+''''++++++++'''''''''''+++'+++++++++++++++++'''''''''''''''+++++++'''''''''+''''''''''''''''''. ..:;;,,''''''''''''''';;;;;;;'''''''''''';;;;;:,,:::::::::::::::;;;;;;;;;;;;;;;::::::,,,``,:,,,,,::,:::::;:::::::::::::::::::,,,,,,.          `  `..,,,,,,,,,....,,,,,. `,:,,,,,,,,,,,,,,,,,,,,:::::::, `., `,:,,,` ``.   :''';;;';;'''''''''''''''''''''''+';'++''+++++++++++++++
##+##############+++#++++++++++#++++++++++++++++++++++++++++++++++++++++++++++'+++''''+++++++++'''''+++++++++++++++++++++'''''++'''''''''''''+''+++++++++''''''''''''++++++++++++++++++++++''''''++'''''''++'+++''+''''''+''''''''''''''''', ,';:;'.`''''''''''''';;;;;;;;'''''''''''';;;;;;;:::::::::::::::::::::;;;;;;,:;:,.,:,,,...`......,,::::::;;;''';:::::::::::::::,,::,,,`        `.   ..,,,,,,,,,...,,,,,,`    `,,,,,,,,,,,,,,,,,,,,,,,,,::`   `::,,::. ``,`  `;'';;;'''''''''''''''''''''''''+''.'+++++++++++++++++++