-----~((+++++++++++++++++==sss++<<<<<((((((<((((((((((((((((
--~~(<++++++++++++++=====szhhhhzs+<<<<<((<((((((((((((((((((
((<+++++++++++++=======shhDDDDDDhzszzs+<(<((<(((((((((((((((
+++++++++++++======ssszhDDDDDDDDDDDDDDhs+<(<<(((((((((((((((
+++<<<+<+++======sssszDDDDDDDDDDDDDDDDDhz=<<<<<(((((((((((((
<++++===+=======ss=szDDDBDDDDDDDDDDDDDDDDh=<(<<<<<<<<<<<((((
+===s==++======s=+=shDBBDDDDDDhhhhhDDDDDDDz+((((((((((((<<<<
=ss====++=====++++=zDDDDDhhzzzzzzzhDDDDDDDDs<(((((((((((((((
=======+++++++++++zDDDDhzzsss==sssszhhDDDDhh=(((((((((((((((
=======++++++++++=hDBhzs===========sssszhDDDz+((((((((((((((
======++++++++++=zDDDz===========+++=++=shDDhs<(((((((((((((
=====++=+++++++=shBDz=+=======+++++++++++szDDz+(((((((((((((
===+<<<++++++<<+zDBh=++====+++++++++++++++shBD=<(((((<<(((((
+++<<(<<<<<<<<+=hDDs+<++========+++++++++<+zDDz<((((((((((((
++<<<(<<(<<<<<+zDDh+<+++======+++++++++++++=hDh+((~~(~~((((~
<<<<(<(((<<<<<=hDDz((+++=======++++++<<<++<+zDD=(~~~~~(=zz=(
((((<(((<(<<+=zhDD+((++========+++++++++++<+sDDz<((~~~(+=s=+
(((((((<<++++szDDz<~(+++======+++++++++<++++=DDh+<<<<((<((((
((((<<<<<+++=shDDs(~(<======++====++++<<++++=hDD=<((((((<((<
<<<<<<((<<<+=zhDD=~~(+=========+++++<<<++++++hDDs<<<<<<<<(((
+++++<((((<<+zhDD+~~(+=sss=====++++++++++++<+hDhz+<<<<<<<<<<
+++++<~((((<<zDDD+~~+szzhhzss======szzzs==+++zhzh+(((((((<(<
+++++<~~(((<+hDDD+(<+ssszzzzzzs==sszzzs=s==+=hhzh+(((~~(~~~~
+++++<~~((((+DDhz<+=sszzzzzzzzsssszzzzzs=====zzzh+(((~~~~((~
++===<~~~(((+Dhhs~(szsssshhzhhzsszzhzzhhz=ss==hzD+(~~~~~~~~~
=+===<-~~~~(+Dhh=~(==+==szzzzzs=sszzzszzs===+=hzh+((~~~~~~~~
===++(--~~~(+hhz<~(+=+=szssszs===sssssss=+=+<=zsh=(~~~~~~~~~
+++++(--~~~(<zzz<~(<+==sss=ss===+=======+++++=s=h+(~~~~~~~~~
+++++(--~~~((=ss<~((++=====s====+=++===++++++=s=z+((~~~~~~~~
+++++(---~~~(<==<(((<+=====z=+=++++++++++++++==sz<~~~~~~~~~~
+++++(--~~~(((+=+((<<++===sz=+=+++===++<<++++==zs(~~-~~~~~~~
+++++(-~-~~~((<==((<<<+===sz+<=+<+=s=+<<+++++==hz++<~~~~~~~~
+++++(-~-~~~~(zDs<<<<<+===zzsss=====s++<<+<++zDDhs=+-~~~~~~~
++++<(----(<+zDDz+<<<+====szzhzsss==s=+<+++++zDDz<((-~~~~~~~
++++<(----<+szzhh+<<<+====ssszs===++===+++++=hDDz<((~(~~~~~~
++++<(---~(((+=hh=<++====sssszss==++====++++=DDhz+(~~(~~~~~~
++++<(---~((+=zhDz++==ssszssszs=========++++sDDz<(~--(~~~~~~
+++<<(---~-~<=szDh=+==s=zzzzzzss===sss===+==hBDz<(~~~(~~~~~~
+++<<(----~~~(=zDDz+=ss=zhhhhhzzzsszzs===+=sDBh=+<(~~(~~~~~~
+++<<(----~--(shDDh==sssszssszzss====s=====zDDz<~(~~~(~~~~~~
++<<<~---~~--(sDDDBzssszzs==sszzs=+++=sssszDBD=~-~~~~(~~~~~~
+++<<~---~((~~<shhhzszzhzs=ssszzs==+==sszzzDBh+--~~-~(~~~~~~
+++<<~---~(((((+<+=+=zhzzsssssszs====szzzhzhD=((((((((~~~~~~
++<<<~---~((~~~(+zz++shhzzsssssss===szzzhz=hB=(~~~(~~(~~~~~~
++<<<~--------(sDBz((=zzzzzzzsszs==szzhhh=+hDhs(---~~(~~~~~(
++<<<~---~~-(sDBDD=((+shhhhhhzzzzszzhhhhs=+szhDD=<~~~~~~~~~~
++<<<----~<sDDDDBD=(<+=shDDDDhhhhhhDDhzz==++zhhDBh=(~~~~~~~~
++<<(--~+zDDDDBBBDz<(<=szhDDDDDDDDDDDzs+=+++zDDDBBBh=<~~~~~(
++<<((=hDDDBBBBBBBDh+<=szzhDDBBBDDDhs===+++=DDBBBBBBBDs<~~~(
+++=zDDDDDDBBBBBBBBBDs+=szzhhhDDhzss===++=zDBBBBBBBBBBDDz+((