Who made Who?

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