---
https://www.youtube.com/watch?v=wYp0fts5XPk
Code: Select all
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###++#++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+#++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+##+#+#++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++###+######@@########+++++#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##############@@@@@@#@######+++####+#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#######@####@##@@@@@@@@#@@##################+++##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####@@###@@@@@@@@@@@@#@@##@@@@#@@#@#@@@@@@@#@######++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++######@@#@@@#@@@@@@@#@@@@@@@@@@@@@@@@@@#@@@@@@@#@@@@###++++++++++++++++++++++++++++++++++++++++++++++++#+++++++#++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#####@##@@@@@@@@##@@@@##@@@@@@@@@@@@@@@#@@@#@@@@@@@@@@@@#@###++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++######@##@###@@@@#@@@@@########@#@#@@@@@@@@@@@@@@@#@@@#@@@@@@@@@@##++++++++++++++++++++++++++++++++++#+++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#######@#@@@@##@@@@@#@@@#@####@#@@@#@@@@@@@@@@@@@#@@@@@@@@@@@@@@@##@@#+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++########@#####@##@@@@@#@#@#######@##@####@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@###+++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#############@#@@######@@@@#@@#@@@@@@@@#####@@@@#@@#@@@@@@@@@@@@@@@@@@@#@@#@@@###++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##########@#####@@@@###@@#@@##@@@@@@@@@@@@##@@@@@#@#@@@@@@@@@#@@##@@@@@@@@@#@@@@@@##+++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#########@#@#@##@@#####@@@#@###@@##@@@@@@@@@@@@@@@##@@@@#@@@@@#@@#@@@@@@@@@@@@@@##@@@#++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@#@###@###############@@@@#@###@@@@#@@#@@@@@@@@@@@@@#@@@@@@@#@@@@@@@@@@@@@@#@@@@@@@@@#+#++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####@@######@@@@#####@######@@@@###@@@@@@@@@@@@@@@@@@@@@#@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++######@@@#@#@@@@@@@@@@#@#@@@#@@#@@##@@@#@#@@#@#@##@@#@@@@#@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+#++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###@@@##@#@###@@@@#@@##@##@@@@@##@#@@@###@##@@@@@@@@@@@@@@@@@@#@@#@@@@@@@@@@@@@@@@@@#@@@@@@@@###++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++####@####@@@@######@#@@@#@@@@@@@####@@#@@@@@@@@@###@#@#@#@@@@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@#@@##+++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++##@@#@##@###@@@@@@@@@#@@#@@@@@@@@##@#@#@@@@@@@#@####@#@@##@@@@#@@@@@@@@@@@@@@#@@@@@@@@@@@@@@#@@@@@@#+++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++#@#######@@@#@@@@#+##@@@@@@#@@@@@##@@@##@@@@@@#@@###@@@@@#@###@@@@#@#@@@@@@@@@@@#@@@@@@@@@#@@@@@@@@@@##+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++####@####@###@@@####@@#@#@@@#@@@@@#@@@@@@@@@###@@###@@@@@@@@####@@@##@@@@#@@@@@@@@@@@@@@#@@@@@@@@@@@@#@#+++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++######@##@@@@#@@@###@##@@#@@@@@@@###@@##@@@@##@###@@@@@@@@@#@@@@@@@@@##@@@@@#@##@#@@@@@@@@#@@@@@@@@@@@@@@##++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++####@@@@###@@@@@#@##@@##@@@@##@@##@#@###@@@#@@@@@@@@@@@#@@@@@@@@@@@@@@##@##@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++####@@####@#@@@@@#@#@@@@##@@@####@@@@@@@##@@####@@@@@@@@#@@#@@@@@@@@@@@#+@#@@@@#@@@@@@#@#@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++#@@#######@@@##@@@@@@@@@#@@##@@@@@#@@@@@@##@@#@###@@@@@@@@@@@@##@@@#@@@@##@##@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++####@####@@@@@@@@#####@@@#@@@#+#@@@@@@#@@##@@@@@@@@#@@@@@@@@@@@@@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++###@####@###@#@@###@@@@@+@@@@##@#@@####@#@@@@@@@@@@@@@@@@@@#@@@#@@@#@###@@@#@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++##@###@###@@##@#@#@#@@@#@@@@#@@@@@@@@@@@###@@@@@@@@@@#@@@@@@#@@@@@@@@@#@@##@@@@#@#@@##@@@@@@@@@@@@@@@@@@@@@@@@@###+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++##########@@@#@@@#@@@#@#@@@#@#@@@#@@@@@@@@#@@@@@@@@@@@@@@@@@@#@#@#@@@@@@@@@@@@@@@@@@###@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++##@##@###@##@@@####@#@#@@@@@@@@##@@#@@@@@@##@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++####@##@###@#@@@#@###@@@@###@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@#@@@@@@@@@@####++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++####@@@#@@@#@@@@@#@###@@@@###@###@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@+@@@@@@###++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++#####@@@@@#@@@@#@@#####@@@@@#@#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@#@@@@@@@@@@@@@@@#@##@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@###+++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++####@#@@@#@@@@@@###@#@@@@@@#@@####@@@#@@@@@@@#@@@@@@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##@@@@@@@#@@@@@@@@@@@@@###++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++####@@@@@#@@@@@@@@#@##@#@@#@@@@@@@#@@@@@@@@@@@@@#@@@@@@@@@@@#@#@@@@@#@@@@@@@@@@@@#@@#@@@@@@@@@@#@@@#@@@@@@@#@@@@@@@@@@@@@###++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++#####@@@@@@@@@@@@@@@####@########@#@@@#@@@@@@##@@#@@@@@#####@@@#@@@@#@@@@@@@@@@@@@@@@@@@@#@@@@@@@@#@@@@@@@@#@@@@@@@@@@@@@@##++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++####@@@@#@##@#@#@@@###########+######@@@##@@##@#@@@@@@@###@@@#@@@@@@@@@@@#@@@@@@@@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++####@@@@@@@#####@@@@###++++++++++##############@#@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++####@#@@@@@@######@####++'';''''''''++#################@@@####@@@#@@@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++#@#@@@@#@@####@######++'';;;;;;:;;;''''''''++++'+++###+++####@@@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++#@@#@@@@@###@@@######+''';;;::::::::;::::::::;;;';''''''+++#######@#@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++###@#+@@@@@@@#@@#@###+';;;;:::::::::::::::::::::::;::;;;;;';''+############@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++#@@@@@@@@@###@@@##+'';;;::::::::::,,:,,:,,::::::::::::::;;;;;'''+++++++#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++#
+++++++++++++++++++++++++++++++++++++++++++++##@@@@###@@#@@##++';;;:::::,::::::,:::,,,,,,,,,::::::::::::::;;;'''+'''+++++####@@@@###@@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++#+
++++++++++++++++++++++++++++++++++++++++++++###@@@@@@#@@####+'';;::::::::::::::,:,,,,,,,,,,,,,,::::::::::::;;;;';'''''''+++###@@@#@#@@#@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++##+++
+++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@###++';;:::::::::,:::::,,,,,,,,,,,,,,,::::::::::::::;;;;;;;;;;;'''''++####@##@#@@@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++#+++++++++
++++++++++++++++++++++++++++++++++++++++++++###@@@##@#@@#+';;:::::::::,::,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;;;;;;'''+++######@#@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@#@@@@@@@#+';;;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::;;;;;;;;;;;;;;;;;'''''++####@#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++###@@@@@@@##';;;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::;;;;;;;;;;;;;;;;'''''++####@#@@#@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@##+#+++++++++++#+++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@@@@#@@@@+';;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,::::::::;;;;;;;;;;;;;;;'''''++######@@@@@@#@#@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@@@###@@#+;;;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,::,:,:::::::;;;;;;;;;;;;;;;''''''++#+####@@@#@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++#+
++++++++++++++++++++++++++++++++++++++++++++###@###@@##';;;::::::,,,:,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::::;;;;;;;;;;;;;''''''++++########@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+#++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++#@#@##'#@#+';;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:,:::::::::::;;;;;;;;;;;;;'''''+++++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+#+++++++++++++#+++++++++#
+++++++++++++++++++++++++++++++++++++++++++####@##@@##+';;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;;;;''''''++++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++######@###+';;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;;;''''''''++##+###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@@@@@###+';;:::::::,:,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::;;;;;;;;;;;;'''''''++++####@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@@@@@@##+';;::::::::::,,,,,,,,,,,,,,,,,,,,,,:,:::::::::::::::;:;;;;;;;;;;''''''''+++#####@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@@#@@##++';;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;;;''''''++++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@####+#+++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++###@@@###++';;::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;'''''''+++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++#@@@@@###+;;;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;''''+'''+++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++####@@###';;:::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:::::::::::::;;;;;;;;;;'''+'+++++##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++##@@@@###';;:::::::::,,,,,,:,:,,,,,,,,,,:,,,,,,,,,,,:::::::::::::;;;;;;;;;;''''+''+++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++##@#@@###';;:::::::::,,,,,,,,::,,,,,,,:,,,,,,,,,,,,,::::::::::::;;;;;;;;;;;''''''++++###@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++##@@@@###';;:::::::::::,,,:,,:,,,,,,,,,,,,,,,,,,:::::::::::::::;;;;;;;;;;;''''''''+++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++##@@@@@###';;;::::::::,,,,,:,,,,,,,,,,:,,,,,,,,,,,:::::::::::::::;;;;;;;;;'''''''''+++###@#@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++###@@@@#@#';;::::::::,::,,,,,,,,,,,,,,,:,,,,,,,,,,,:::::::::::::::;;;;;;;;;'''''''''++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++####@@@@@#';;:::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,:::::::::::::::;;;;;;''''''''''++#####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++######@@@#;;;::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,:,,,,:::::::::::::::;;;;;;''''''''''+++####@@@@@@#@@@@@@@@@@#@@@@@@@@@@@@@@@@#+++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++#####@#@@#;;::::::::,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::;;;;;;;'''''''''++++###@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@###+++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++#####@##@@+;;:::::::,:::,,,,,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::;;;;;;;;'''''''++''++####@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++###@#@@+;;::::::::::::::,,,,,,,,,,,,,,,,,,,,,,,,::::::::::::::::::::;;;;;;;;'''''''''+++++####@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++##+#@##@+;::::::,,::,::::,:,,,,,,,,,,,,,,,,,,::::::::::::::::::::;;;;;;;;;;;;;'''''''+''++++###@@@@##@@@@@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++####@@@';::::::,::::::::::,,,,,,,,::::::,:::::::::::::::::;:;;;;;'';';;;;;;;;;'''''''''+'''+##@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@##++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++##+##@#;:::::::::::::::::::,,,::::::::::::::::::::::;;;;;;;;''''''+''''''';;'';''''+'''''''++####@@@@@@@@@@@@@@@@@@@###+++@###++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++#####@#;;:::::::::::::::::::::::::::::::::::::;;;;;;;;;'++'++++'+++++++''''''''''''+'''''''+'++###@@@@@@@@@@@@@@@@@##++'''+##+++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++####@@+;;;;;;::::::::::::::::::::::::::::::::;;;;''''+##+######++#+++++++''''''''+'+'''''''''++++##@@@@@@@@#@@@@@@@#++''''''#+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++#####';'''';;;;;;;;::::;:;:::::::::::::::;:;;;'''++++#########++++#+++++++++''+++++++''''''''++++###@@@#@@@@@@@@@###++++++'++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++######';''++'''''''';;;;;;;;;;;;;:::::::;;;;;;''++++++#########+++++++++++++++++++++'+''''''''+++++###@@@@@@@@@@@@###+++++++'+++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++##@#'+'++++#+++##+++''''';;;;;;:::::::;;;;;'''+++++++++#+++++++++''+++++++++++++++'+''''''''''++++####@@@@@@@@@#####++++#+''++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++##@@#'++++++#########+++''''''';::;::;;;;;''''+++++++##############++++++'+++++++++++''''''''''''++####@@@#@@@####+++++++##+;'+++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++##@@@++++++++###########++++++';;;;;;;';''''++++++####@########@@@@######+++++++++++++'''''''''''++###@@@@@##@####+++'+++##+;;+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++#@@##++++++++++###########+++';;;''';;''''++++++###@###+'';#.#@@@########++''''''''''''';''''''''++###@@@##@######++''++##+;;'++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++###@@#+'+++++######@@@@@@####+';;;;::::;;;;''+++#####+++;::'###@@@##+'+####++++'+'''''''''''''''''+++##@@@#########++''+++#+';'++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++###@@++++++#####+'##+,@@@@####+';:::::::;;;''++#####++';:,,'##@@@@##+''+##+++++'';;''''''';'''''''++###@@@@#######++++''++++':;++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++#@@''+++####';::####@@@@#+###+;:::,:::;;;'++####++++;::,,;+#######';;'+#++''''''''';'''';'''''''+++###@@#####+#+++++''++++':;++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++##@#'''++###+;:::###@@@###''+#';::,::::;;;''++##+##+;;:,,,:'#####+;;;;'++++''';;;;;;;;;;'''''''''+++###@#####++++++++'''+++':;++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++###;;''+#++';:,:+#######+''''';::,:::;;;;'''++'+'';;;;:::::;''';;;;'''+'''';;;;;;;;;;;;;;;'''''''+++##@@###++++++++++'''++':;++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++#@+;;;'++'';;::::+######';'';':::::::;;;;'''''';::;;;;;::::,:;;;'''''''';;;;;;;;;;;;;;;'';''''''''++######+++##++++++'''++':;++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++##+;;;''''';;::::;'++'';;;';;;:::::::;;;;'''''';;;;;;;;;;;;''''''''''';;;;;;;;;;:;;;;;;;';''''''''++++##+++++####+++++''''':;++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++#';;;;;;;'';;;:;::,::;''';;;;:::::::;;;;;;'';'';;;;'''';;;;'''''''';;;::::::;;;;;;;;;;;''''''''''+++++++++++#######++';'';:;++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;;;';;;;;';'''''';;;;:::::::;;;;;;;;;;;;';;;;;;;'''''''''';;;::::::::;;;;;;;;;;;;'''''''''+++++++++++#######++';'';:'++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++;;;::::;;;;;''''''''';;;;;;:::::::;;;';;;;;;;;;;;;;:;;;;;;;;;;;;;::::::::::;;;;;;;;;;;;'''''''''+++++++++++########+';'';:'++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++;;:::::::;;;;;;;;';;;;;::;;::::::;;;;;;;;;;;;;;;;;;:::::::;:::::::::,,,::::::;;;;;;;;;;''''+''''++++++++++++######++;;'':;+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++';;::::::::;;;;;;;;;;::::;;:::::::;;;;;;;;;;;;;;;;;;;:::::::::::::::,,,,::::::;;;;;;;;;;''''+'''+'++++++++''++#####+';;'':;+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++;;::::::::::::;;;:::::::;;::::::::;;;;;;;;;;;;;;:;:::::::::::::::,,,,,,,::::::;;;;;;;;''''''++'+++++++++++''+++####+';;';:'+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++;:::::::::::::::::::::::;:::::::::;;;;;;;;;;;::;;::::::::::::::::::,,,,,,:::::;;;;;;;;;'''''++++'+++++++++'''+####+';;;':;'+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++;:::::::::::::::::::::::;::::::::;:;;;;;;;;;;:::::::::::::::::,::,::::,,:::::::;;;;;;;;''''+++++++++++++++'''#####+;:;';:;++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++';:::::::::,:::::::::::::::::::::::;;;;;';;;;;;::::::::::::::::::::::,,::::::::::;;;;;;;''''+++++''++++++++''+#####':;;'::'++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++';:::::::::::::::::::::::::::::::::;;;;''';;;;;;;;::;::::::::::::::::::::::::;;::;;;;;;'''''+++++++++++++++'+##+';;;;;';::'++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++';:::::::::::::::::::::;::::::::::::;;;;;''';;;;;;;::::,,,,,:::,::::,::::::::;;:;;;;;;''''''++++++++++++++++##+;::;;;;;::;+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;::::::::::::::::::::::::::::,,:::::;;;;'''';;;;;;;;:::,,,,,::,,:,,:::::::::;;;;;;;;;;''''''++++++'+++++++'+##';::;''';::'+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;:::::::::::::::,,::::;::::,,,,,:::::;;;''';;;;;;;';:::,,,,,,:,,::::::::::::;;;;;;;;;'''''+++++++++'+++++''++';:::;'';::;++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;::::::::::,::::,,:::;::::,,...,:::::;;;;';;;;;;;'';;:::,,,,,,,,,:,:::::::::::;;;;;;''''''+++++++++''++++''+'';:::;'';::;++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;:::::::::,::::::,,::;::::,,,.,:::::;;;;;;;;;;;;;;'''::::,,,,,,,,::::::::::::;;;;;;'''''''+++++++++++++++'+++';;:;:;;;:;'++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++';:::::::::,::::,,,:::::::::,:::::::;;;;;;;;;:::;;;;'+::::::,,,,,:::::::::::::;;;;;''''''''+++++++++++++++'+++';;:::;;;;;+++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++';::::::::,,::::::,::::::::::::::::;;;;;;;;;;:;:;;;;'+;::::::,::,:::::::::::;;;;;;;'''''''++++++++++++++++'+++';;:::;;;;'+++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++';;::::::::::::::::::::::;::::::::;;;'';;;;;;;;;;;'''++:::::::,,,:::::::::::;;;;;;''''''''++++++++++++++++'+++';;:;;;;;'++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++';;:::::::::::::::::;::;;;;;::::;:;;''''''';';;;''''+#+;::::::::::::::::::;;;;;;;;'''''''+++++++++++++++++'++';;;:::;;;+++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;;:::::::::::::::::;;;;;;;;;;:;;;;''''++####++'''++##+;;:::::::::::;::::;;;;;;;;''''''''+++++++++++++++++'++';;;;;;;''+++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;;::::::;::::::::::;;'+##+';;;'''''++##########+++###+';;:::::::::::::;;;;;;;;;;''''''''+++++++++++++++++'+'';;;;;;'+++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;;::::::::::::::::::;'++####+''''++++###############++;;;;:::::::::::;;;;;;;;;;;''''''''+++++++++++++++++++'''''''+++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++;;;:::::::::::::;;;;;;+#########+++############+++++'';;;;;;:::::;::;;;;;;;;;;;''''''''+++++++++++++++++'++'+++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++';;:::::::;;;;;;;;;;;;;+++''+++###########+++++++'''';;;;;;;;;;:;;;;;;;;;;;;;;;''''''''++++++++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++';;;;;;;;;;;;;;;;;;::;;;;;;;;'''+######+++''''''''';;;;;;;;;;;;;;;;;;;;;;;;;';'''+''''''+++++++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''++++'''';;'';'''';;;;;;;;;;;;;;;;;;;;;;;;;;''''+'''''++++++++++++++++++++++++##++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;;;;;;'';;;;;;;;;;;;;;;;;;;'''';;;;;;;;;;;'';;';''';;;;;;;;;;;;;;;;;;;''''''''''+++++++++++++++++++++++++#++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;;;;;;''';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;''''''''''';;;;;;;;;;;;;;;;'''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;;;;;''';;;;;;;;;;;;;;;::;;;:::;;;:;;;;;;;;;;'''''''''';;;;;;;;;;;;;;';''''''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;;;'';;;;;;;;;;;::::::::::;;:::::::;;;;;;;;;;;;';''';;;;;;;;;;;;;;;;;;'''';'''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;;;'';;;;;;;;;::::::::::::::::::;;;;;;;;;;;;;;;;'''';;;;;;;';;;;;;;;;''''';''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::;;;;;;;'''''''''''''''';;;;;;;;;;;;;;;;;;;''+''''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'''''''++'+++++'''+';;;;;;;;;;;;;;;;;;;'''';;''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;;;:;;;;:;;;;''''';;;;;;;;;;;''''+++++++###+++++++++';;;;;;;;';:;;;;;;;'''';;''''+++++++++++++++++++++++#+++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;:::::;;;;;'''''''''''''''''''+++########@@@########+';;;;;;;;:::;;;;;''';;;;'''''++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++';;;::::::;;;;;;;'+#########+++++######++''''''+++#####+';;;;;;;;;:::;;;;;''';;;;''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;::::::;;;;;;;;;'''';;;';;'''';;;;;;;;;;;'';'''''''';:;;;;;;;::::;;;;;''';;;;''''+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;::::::;;;;;::;;;;;;;;;;;;;;;::::;:;;;;;;;;;'''''';;;;:;;;;;;:::;;;;;'';';;;;''''+++++++++++++++++++++''++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;:::::::;;;;::;;;;;;;;::;:::::::::;;;;;;;;;''''';;::::;;;:::::;;;;;''';';;;;;''++++++++++++++++++++++''++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;:::::::;;::;:;;;;;;;;:,,,,,,,,::;;;;;;;;'''''';;:::::;;:::::;;;;;'''';;;;;;''++++++++++++++++++++++'''++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;::::::::::::;;;;;;;;;:::,,,:::;;;;;;;''''';';;::::;::::::::;;;;;'';;;;;;''''+++++++++++++++++++++'''''+####++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;:::::::::::::;;;;;;;;;;;::::;;;;;'''''''';;;;;::::;::::::::;;;;''';;;;;;''''++++++++++++++++++++''''''@@@@@@@@#++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;:::::::::::;;;;;;;;;;;;;;;;;''''''';'';;;;;::::::;:::::::;;;;;;;';;';;;'''+++++++++++++++++++++'';;''+@@@@@@@##+++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;:::::::::::;;;;;;;;''''''''''';;;;;;;;;;;;::;:;;;;::::;;;;;;;;;;;;;;;'''+++++++++++++++++++++''';''''#@@@@@@###++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;:;;;;;;::;:;;;;;;';;;;;'''''++++++++++++++++++++''';;'''++@@@@@#####+++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;:::::::;:::;:;;;;;;;;;;;;;;;;::::::::;;;;;;;;;;:;;:::;;;;;;;;;;;;'''''++++++++++++++++++++'''';'''''+#@@@######+++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;:::;;;;;::::;;;;:::;:;;;;;;;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;'''''+++++++++++++++++++++''''';';'''+#@@@#######++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;;;;;::::::::::::::::::::;:::;;::::::::::;;;;;;;;;;:;;;;;;;;;;;;;'''''''++++++++++++++++++++'''';;;;''''+############+++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;::;:::::::::::::::::;::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;'''''''+++++++++++++++++++++''';;;;''''+##############++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;:;:::::::::::::::::::::::::::::::;:;;;;;;;;;;;;;;;;;;;;''''''''++++++++++#++++++++++''';;;;'''''+###############+++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;:;;:;:::::::::::::::::::::::::::::;;;;;;;:;;;;;;;;;;;''''''''+++++++++++++#+++++++'''';;'''''''+###@############++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;;::;::::::::::::::::::::::::;:::::::;;;;;;;;;;;;';;'';'''''''++++++++++++###+#++++'''''''''''''+#####++##########++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;:::::::::::::::::::::::;::::::::::;;;;:;;;;;;;;''';;'''''++++++#+++++#+###+++++'';';;'''''''+######+#++#########+++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;;;;::::::::::::,,,:,::::;::::::::::;;;;;;;;;'''''''''''''++++#+++++#+#+##+++++''''';''''''''+##+#+###+##+########++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;;::::::::::::,:,,,,,::::::::::::::;;;;;;;''''''''''''+++++++#+++#########++''''''''''''''+###+++##+#++##+++#####+++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;:::::::::::,,,,:,,,,:::::::::::::;;;;;;''''''''++''+++++++#####+#+#####++''''''''''''''+####+###+#'#+++#++++####++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''';;;;::::::::::,,:::,,,::;;;;:;:::;:;;;;;;;'''''++'+++++++#+##############++'''''''''''''''+#####+#+++#'+'+##++++####+++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;::::::;;;::::::::,,,:::;;;;;::;;;;;;''''''++++++++++++###############++'''''''''''''''+#++++#++++++++++++++#++####++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;:::::;;:::;:::::,,::;:;;;:;;;;;;;;'''''++++++++++++###############+++''''''''''''''''+#+++'++'++'++#+++++++++#####+++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;;:::;;::;;;;;::::;;;;;::;;;;;;;''''''++++++++++##################++''''''''''''''''+##++#''++++++++++++++#+++##+#+++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;::::;::;;;;;;;;;;;::;::;;;;;;;''''+++#++++++++################+++'''''''''''''''''+++#+##+##++#+++++'+++++++++++#++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++';;;;:;;;;;;;;;;;;;;;;;;;:;;;;;;';'''++++#++++++####+##############+'''''''''''''''''++++++'##+#+'+#'++'+'#+++#+#++####++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++++++++';;;::;;;;;;;;;;;;;;;;;;;;;;;;'''''++++++++++++###+############+++'''''''''''';;;;''#+''++;'+''+''++'+''++++'+++++#####+++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;;;;;;;;;;;;;;;;;;;;;;;';''''++++++++++++#++##+############++''''''''''''';;;;'++#++##''+'';+''+''+'+++++++++#########++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;;;;;;''''';'''';;;';;';'''+++++++++++++#+###+###########++''''''''''';;;;;;;'''++++##++++''+'''+''++++++''#@#+#+#######+++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';;;;;';''''';;''';;;'''''++++++++++++++++###############++++''''''''';;;;;;;;+#+''++''+++#+++++'+++'++++++++#++++++#+#+###++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'';''';''''';;''''''''+++++++++++++++++++++#####+#######++'''''''''';;;;;::;;'+++++'';'+'+++++#++++++#+++++##++#++###+###+###+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''';;';;;;;'''''''+++++++++++++++#+++++###++#######+++''''''''';;;;;::::;'''''+###+++''''+'++#+++++#+++#@##+'+'+++++#####+#
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''';;;;'''+++++++++++++++++++++##++++#+########+++''''''''';;;;::::::+#++'''+##++++'''+'''+#+++#+##+@##+##++++###++++###
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''''''+++++++++++++++++++++++++++++#########+++'''''''';;;;:::::::;'++#+++++'''+#+++'''';'+'+++++###++###########++#+#
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++++++++++++++++#########++++''''''';;;;::::::,:;+++'+++++#+';;'++++++++;''+++++@#+++##########++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++++++++++++++++++++++++++++#########++++'''''';;;;::::,,,,,,'++#++'';'++++';'++++++#+'''''+@##+'++#########+##+++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++###+########++++'''''';;;;::::,,,,,,'''''#++''';''++''''+'''+++''''##+#++++#+##+######+#'+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#########+++++'''''';;;::::,,,,,,,:++++'+++++'''''+++++'''''+#++''@++##+++++####+####+#++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##+#######++++++''''';;;:::,,,,,,,,,+;'++++''''++++''''+#++'';''+++#@+'+###''+'+##+###+##+#
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++########++++++''''';;;:::,,,,,,,,,;++'''+#++';;'+##';;;'++++';;'++@##+'+##++++++++++++++##
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++++++++++++++++#######++++++''''''';;:::,,,,,,,,,:''++++'+#+++'''++++'';'+++++'''#@++#++'+#++++''+''++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++######+++++++'''''';;;:::,,,,,.,,,+++''+#+'''''+++++++++'''''++++'@#'+##++'+++#+#++++#+###+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++++++++++++++++++++#######++++++''''''';;;:::,,,,...,,;'+++''+++''';'++++'''+#++'''++++@+'+'+#++''+++###########
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++''''+++++++++++++++++++#+######+++++'''''''';;;:::,,,,....,:+'''+++;'++++''''+++'''++++'''++@##+''++#++'''+++#####++#+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++;'''++++++++++++++++++#######++++''''''''';;;:::,,,,,....,;++'''+#+'''+##+'''+++'''++#+'';+@'+#++''+###++''+++++++++'
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.'''+'++++++++++++++++#+####+++++'''''''';;;;::,,,,.....,'''+##+'+##''''++#+';++++';;++++'#@++'+++'''+###+++++++'+''+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++,,'''''++++++++++++++++####+++++'''''''';;;;:::,,,,,...,,'++'+++++'++++';''++';;'+#+';'+++@#+'''+#+'''+++####+++#++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++';.:''''''''++++++++++####++++'''''''';;;;;::::,,,,,....,';+++''+#+'''++++';'++';''++#';;'@#+#++''++#++'''+++#+#+#++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++'+++++..;''''''''+++++++++##+'''''''''';;;;;;;::::,,,,,....,:'#''++''++++''++++';;++++'''++';+@+''+#++'++##++++''+'++++++#
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##+++++++++'...'''''''''''+++++#+;;;;;;;;;;;;;;;;;::::,,,,,......,';+#'''+''''++'+''+++'''+++'';+++#@++''+##++''+++++++++''''+++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++++++++'''....;''''''''++++++';;;;;;;;;;;;;;;::::::,,,,,......,'++;'++''+++''++++''+++'';'+++;+++@#+#+''+++++''+'+++#++++++'+'
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'+++'+'.....:''''''''''++;:::::;;;;;;:::::::::,,,,,,,......:;'+';'++''+++'''++#+++#+'';'++';'+@'++#+'+'++#++''''''++#+#+#++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++'++'+''+++++......,'''''''''+::,::::::::::::::::::,,,,,,,......,++'+++;'++'''#+'''+#+''++++'''++''+#+''++++'''+##++#++''''++++#+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++'+'++++#+#+.......,'''''''',,,,,,:::::::::::::,,,,,,,,........:'++';++''#+';'+++'''++''''+++''++'###+''++++''''++++++#++'''''++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++++++++++++++#+#,..,....,'''''',,.,,,,,,,,,,,,,,,,,,,,,,,.,.......,'';#+''+';;++';;+++'''+++;'++++;'++#+###''+++##+'''+''+'+#+#+++''
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++''++++++#+#;...,,.,.,'':,,....,,,,,,,,,,,,,,,,,,,,...........'++''+'';++;;'+';'++++';++''''++'''+@''++#++'''+++++++++'''++#####
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++##++++++++'++++'++'###+#+#+.....,,,..,,.........,,,,,,,,,,,,,,,,..........,:''++;'++;'++;;++';''+++;'++++''#+;;##++'''+++''';'+++++++++'''++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+###++###+,......,:;,...............,,,,,,,,.............,+';'+';'++;++';'+'''''++''+++'''+++'#++++''+++++'''++++++###++'+''+
+++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++'++++++++++++++#++++###++:....:;:,,....................,................;++;'+#';+#'''+';'++++''++';;'+++''++#''+++'''++#+++++++'+'''+##++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++#+++++++++++++''+++++#++#####++:..,':;;';....................................,;'++''++''++;;++';''++';'++';''++'''##'+'+##+''''++###+++++++''''++#
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'+'++''+++'++#+#++###+'+,.,'#';;;:....`...............................'';'++''++'+++'''+';;++++''++''''++';#+++''+++++''''++'''''++++++''++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++'+'++'+++++#++###+++,.,+;;:;::;..```.............................,'++'+++''++'+++';'++''''++;;'++''''++#'#++'''+++##+'++''+'''''++###++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++'++'+''++++++###+##++';.,'';:;:,:+:..`.`............................;'+++''++';++'++++;'++''''++'';'#+';++#';'+++'''''+++++#+####++'''+'+#
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++'++++++'++++'++#+++#####+';+,:##+;:,;;++.`..............................,'+#'+'''++''++'++++''+++';'++++;'++;'##++';'+#++'';'''+++'++'+#+++++'+
+++++++++++++++++++++++++++++++++++++++++++++#+++++++++'+'++++++'++++++#++++#####''+',+####+;;++++..``...........................;'''''++''++;;+'''++';'++++''+++'''+';++++'''+++#+++'''''++'+''''+++##+
++++++++++++++++++++++++++++++++++++++++++++##+++++'+++'+'++++++++''+++++++#+###++''';#####+':;:;;:.``..........................:''''#''++;'++;'++''+++'''++''''++';'++#'++++'';'''++++++++++++++++'''++
++++++++++++++++++++++++++++++++++++++++++#++++++++++'+++++++++++++++++++#++####++++;+#++;:::::::::,............................''+''+';'++''++;+++''+++'''++''';++';'+#''''+++++''';''''''''''++++##++'
+++++++++++++++++++++++++++++++++++++++++##++++++++'++++'++'+++++++##++#+++####+#++#,#;;:;:;;::::;;;...`.......................:;';'+++'''+''++''+++'''++';'+++';'++';+@+'+';'+++''+''''''+++'+''''''+++
https://www.youtube.com/watch?v=X3qPHd7fBh4
https://www.youtube.com/watch?v=9RmWQCtTzwA
https://www.youtube.com/watch?v=se5AkSgpJJc

https://www.youtube.com/watch?v=9dhhzLjsViY
https://www.youtube.com/watch?v=Xojr_ChhVgI
https://www.youtube.com/watch?v=ASF4gOWhN1c
https://www.youtube.com/watch?v=kPSCVAYr4LI
https://www.youtube.com/watch?v=574NCZi1jbU
https://www.youtube.com/watch?v=Hu41GsOPcMc
https://www.youtube.com/watch?v=gaaf_9TqPL8
https://www.youtube.com/watch?v=9uxe3zh8OIo
classic.https://www.youtube.com/watch?v=4lYK-lKqJUY
Edited to play nicer with phones