++++++''''''';;;;;;;;;;::::::::::::::,::,::,::::::::::::::;;;;;;;;;;;;;;'''''''''+'
++++++'''''';;;;;;;;;;;:::::::::;'##@@@#+#+#@@##+':::::::::;;:;;;;;;;;;;;''''''''''
++++'''''''';;;;;;;;;;;:::::'#@@@@#+@++#@#@#;;@+#@@@@#;::::::;;;;;;;;;;;;''''''''''
+++'''''''';;;;;;;:;;;:::'#@@@#+@@#@;#;+#@#''+,@@@@#+#@@#+:;;;;;;;;;;;;;;''''''''''
'''''''''';;;;;;;;:;;::+####@@@@@@@@#@@@@@@@#@+#@#@@@@@#####;;;;;;;;;;;;;;;''''''''
''''''''';;;;;;;;;:;;+##+#@##+#'@#@####@@@@@#@##@@@+####@####+;;;;;;;;;;;;;''''''''
'''''''';;;;;;;;;;;'++###++##@#+#@@@##@+@@@+@##@@@###@#@######++;;;;;;;''''''''''''
'''''''''';;;;;;;;'+++#'+#,'+#@@@@@####';#+++##+@#@@###+;##+##+++';;;;;''''''''''''
'''';;'''';;;;;;:'''#'+++###@#':##@++##;;@++##+'@##++#######++++++';;;;'';'''''''''
'''';'''';;;;;;:;'';'+++####+#+#####+##########+##+###+###++#+++++'';;;'';'''''''''
''''''''';;;;;:;;+''''++###+'##+#@@@@@@@@#@@@@@@@@##+#+#++#+++++++''';;;;;'''''''''
'''';;'';;;;:,:;:;;'''+##'+#++@@@@@@@@####+##@@@@@#@#######+++''''+'';;;;;'''''''''
'''';;'';;;;.,::;;;;'##'++####@@###+#####++#++####@#######+++++''''';;;;;;'''''''''
'''';;;;;;;`.,,:::;##+;+++####+#+####+@@@@@@##'@###+######++++++'''';;;:';;;;''''''
''';;;;;;;`.';,,::'#:'++++###'+++#@++##++';@@+############+++++++'';;;'::'';;''''''
''';;;;;; `'.,.,'#';''++++##''+'+@'+#+#'#'+##'###@####++++++++'+##';;;:':,''';'''''
''';;;;;` '`.`.+#;;;''++'+##:+''+@@##+';#+##@+@#@####'#+++'++''''++';:;:':,''''''''
'';;;;;: .````##:;;;'''+;+#::'''+'#+++###@@+@#@#####'#+'+++'+'''''+++:;:::,;'''''''
''';;;; `.` +#,:;;;';;#;+#,,+'#;##+@#@+###+@@#+##'#+##+''''''''';;'+',,,;,.'';;'''
'';;;:` '` +#,,:;;'::'#'+#;:+++''@@#@###+#@##;@+#####+#''++';'''';;'+',,,'..;'''''
'';;;; . ;#:,,:;;,';'+++##;'++#'#@+###@#++##+#@@##+###++;+';'''';;;+';,,,,`';''''
'';;: : .#;.,::;:;''''@++#.'+##'+#+##@+###'+@####+''#'##'+'':;';;;;;+'...;.`;;'''
'';;: : #+..,::;.;''''#'+##.+'#'+++#@+#@'#'+#+#####'+##+;+';'',';;;:;#'...:`;;'''
'';;` ; :#...,::`';''''+#####:+++#'#''+'#@@+'+'++###+#++#;+''';';;;:::'+,..'``;'''
'';; . #'`..,:::;;':';'#+####:++########@@###+'+##+##++#;+'':'',;;::::+'``.` ;'''
';;. ' '#``..,:`;;;;''+'+#'####@#''#######@####@'+#'+####++';';'',;:::,:+;``' ,;''
';; `; .:``.,,,;:;';;'+';+@'#####@@@@@##+++###@##'+##'+##'+;;;;,;:;;::,,',``;` ;''
';: ,' :#,`;.,,`;;:;';';'+++#+###@@@@@@@@@@@@@#+#@+'++####';+'''':'.::;::'#.`;, ;;'
';` ` #: `#.,,:;:;;:';'''';'#'##@@@@@@@@@@@@@@@#+#@#+##+#+;'''';;;,;:;'.,++ `` .;'
'; `` .# .#.,`::';:+:++'+;'#+@###@@@@@##@+@@@@@@@+#@#+;#+++'''+':;+,::',.:+. .` ;'
'; : +; ':.,.:;,:;;++'';#'+##;@#@@@@#@@@##@@@@@@@#+@++++:+++;';;';`::':..+' . ;;
;: ' `:;.`#...::;:;;;'+;'#;++'+;@#####;;++++##@#@#@@#+#++'++''+:;;;;:::;'.;,, ' ;;
;` : , ;:`#`.`,:;;,'''::#;;'+++'###@':;++++'+'##@@@@#'#+++'+'':+'';'',::+.'.`. ; .;
; `` ' `,,'..`::,:,;'':;+'+;+;#;###;:;'++#@#';;###@@@#;##''++''''';:;`:,+,'``+ , `;
; ` ' .+,.,`:':,:;+';''+'+'+#'@#;+`;+'@@@#';:;##@@##+#++',++'';;;:;`:,':: `+ `` ;
; . `` `#..,,:,;;;''';'++++'#+###:` ''#####':.;'#@@@##;#++'+'';'':::`:,;'` `:``` ;
; : ` +,.,;,;::,';''+''+##'+##;: ::'##@##+:,;;##@###'@++'+'+;+';,;.::+;``.,` , ;
; : ` . #..,':::,';';'+;;+#+;#+'.` ::'##@@#+::';.##@#####+++',';:;:;,:,';`;``` : ;
: ' + .#..,',:;:,;+:+;+##+##+##. ``;'##@@#';:`,,+#####'+++'':'';;:',:,;',.``' ' ;
: ' ; ``#...;:;,,;;+:+''#+#####+, ,`;+#@@@#';: .:'#####;+;+++'+,';;;,:,;'.``.; ' ;
: ,`` `.`;...:::;;;'';':'#'###+#;,``;;+##@@#+:: ::+##@'#+++++'''':.;,,:,:+.'` ` : ;
: :`. `.;...;,:;;;;;';';++###@+#,`.;'+#@@##+;...'#@#;#+'+'++'';';;;:,::,#'```; : ;
; , ``.`,+.,,;;:;;,;'+';++######++,::'+##@##'+,.;#@@;#'''+';++'';';:;.:,,+..'`` , ;
; ;+.``#.,,,,:;,';+'++;+#'####@#,+:;+##@#++;:+:#@+#+++''++;'''';:::`::;+`:`+; ` ;
; :@`'`+:,:`;;;:;;'+';''+########;';'+###+';+;+#@:+;'++'''+'''';':'`::+:`+.@: ` '
; :@`+`:+,:`:;;.''+''+'#'@'######+''';''''+''###@+''++++''';'';';;'`::+,`+,@: ` '
; ..'@`:`,#,:.;;':''';''++++@+####@##'++''+#++##@###'+''+'''+';+';;;'.::+,`+`@;```'
'` ,;.:.`,#,:.':;;':;'+'++#####@@####@@+'''+#@#@@###'+''''+;;'+''';;:::;+,`.,,;. .'
': ```.`.,#;:;.;;':'+++'#'++#######@@@##@@#@@@@@@@@'#;#+++'';'''':;'`;:+',`:.``` ;'
''`.....,,:#:;.+;:'''++;;#+++####@#@@@@##@+#@@@@@@@'#+''++''';';'''+.:;+,,.````` ++
+++':,,,,,,#:;:;;:''+''+'#:#+''#@+#@@@@@#@#@@@@@@@@@'@''+#++''':;;;,;;'+......,;+++
++++++++,,,:#:;,'';;''';'''+##+###@##@@@@@@@@@@@@@@@#'###'++;+,',;',;;+,...''+'++++
+++++++++;,:#';;'''';'''+##++#+##+##@##+++#@@@@@@@@@@#'#++'++'';;'::;+',.''''++++++
++++++++++',,#:',;''';''+##'##+####++#####@@#@#++#@####'@;#+'+';+';;++,.''+++++++++
+++++++++++;:;+;;;''+'+'+'#+##;#+####@#+#@++#@@####'@###+@:++'''+,:'':,'+++++++++++
++++++++++++::#'';+'''+;+''#+#+#+###@@@@#@''++##+@#+'#####+++''';''+',:++++++++++++
+++++++++++++,;#;';+'+'';'#'+###+##+@#@+@###@#++++@#''###'@'+'''+'';,.+++++++++++++
+++++++++++++':+''';''+++''#+'+#+@+#+##'@+@#@#+++@+#+;,##+#:;'+';'+;:++++++++++++++
++++++++++++++:;#;';;+'++++##'###+#@+@##@'#@#@@##+####'###+#;';;'+'::++++++++++++++
+++++++++++++++;;#'+;;+;''+'''+#+''+#'#@@+#+@@@@##++#';+#+'#++:'+';:+++++++++++++++
+++++++++++++++;''#'+''++'++####'+'###'@@#++@@@@@#####''++''+''+';;:+++++++++++++++
+++++++++++++++;;;+#'++'++#;+'#+++###++###+@@@@@#++###''++++++++'';'+++++++++++++++
++++++++++++++'+;+'+#'+++'+'+';''+#####+#@+###+###++##++#+++++''';;++++++++++++++++
+++++++++++'''++;';;'#+++'++++'''@#@#+##'##@@@##'++##+'+++++#''''':++++++++++++++++
+++++++++++'''++;'''''##++++'#;#++@#######@#####'+#++++##++#'''''':++++++++++++++++
+++'''+++++''''+;',:;;'+#++##+'+#'####++#@+@#'#'+##'##+++#+'+';;;''++++++++++++++++
++'''''''''''''''';;+;''#######'#'+#+##+'+'''+##+'#+####++++''''';+++++++++++++++++
+++'''''''''''''';':''+#'+'##+####'##+'''''''+##'+##++'+'+'#+'';+;+++++++++++++++++
+++'''''''''''''';': ;#'+''++++##########++########+++'+'';'@' '+;+++++++++++++++++
++''''''''+''+''';'.;+@+'''+'++++;###############++++++'++'+@':`':+++++++++++++++++
++'+''''''''++''+;;:;'#+'''+'++++;#@#+#####+###++'+++'++++'##'':':+++++++++++++++++
++''+'''+'+++++++''';'''''''''++++++'+####++++'++++++''++'++''''''+++++++++++++++++
++'''''++'''++++++''''''''''''+;+++++:;+++++'++++++'''+'+''''''''++++++++++++++++++
+''''''+++''+'+++++'''+'.''':+'+++++':+++++++;++++++++'''+:+''''+++++++++++++++++++
+'''+'+++++'++++++++';'';'''#'+'++++;++#++++++;++'''++;''+'''''++++++++++++++++++++
++++++++++++++++++++##''';'+'+'''++++''+++++++++':;++;'+'''''++++++++++++++++++++++
++++++'+++'++++++++###++'''''''''+##+#++'++++++#+:++'''''''++++++++++++++++++++++++
+++++++++''+++++++####++++';'''''''+'+++;++'+++#+++'''''+++++++++++++++++++++''++++
+++++++++++'+++++####+++++++'';'''''''''+++'++++++'''++++++++++++++++++++++++''''''
++++++++++++++++#+##+++++++'''+'++'''++++++++++++++++++++++++++++++++++++++++''''''
+++++++++++++++++##+++++++++''+'++###########++++++++++++++++++++++++++++++++++''''
+++++++++++++++++++++'++++++'''++###########+++++++++++++++++++++++++++++++++++++''
+++++++++++++++++++''':'+++++''++#########+++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++'+++:.;+++'''+#########+++++++++++++++#.:;+++++++++++++++++++++
++++++++++++++++++++++;'++';++''''+########+++++++++'+++++,#+;+++++++++++++++++''++
++++++++++++++++++++::;+++#:++++;;;;####';'++'++,+',+++++++++;#+++++++++++++++++'++
+++++++++++'++++'''++:#'++';#+:++'#+;##'##'+###:+:++++++++++'#++++++++++++++++'+''+
#++++++++''+++++''';:+'#'+'++'#'++'''###'#++#+#++++++++++++'+;:'++++++++++++'++''''
##++'+''+''''+++++'+++#+'+'#+;+;#+++'##;##++#+++#'';++++++':'##++++++++++++'++'''''
##++''''+'++++++++++++++####++#+###+###'#+#++++++####++++++#'+++++++++++++''''''''+
##++'+++++++++++++++++##++++++#+;+'#+####+###+++'''###+++++''+++++++++++++'''''''++
##+++++++++++++++++++##+++'+++++##########';#++++##++++++++'++++++'+++++++''''+++++
#++++++++++++++++++++###++'++++++++#############+#++++++++++++++++++++++++++''+++++
##++++++++++++++++++#####+'+++++++#######################++++++++++++'+++++++++++++