++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000
0-------------------------------------------------------------------------------------------------
00------------------------------------------------------------------------------------------------
000-----------------------------------------------------------------------------------------------
0000----------------------------------------------------------------------------------------------
00000---------------------------------------------------------------------------------------------
000000--------------------------------------------------------------------------------------------
0000000-------------------------------------------------------------------------------------------
00000000------------------------------------------------------------------------------------------
000000000-----------------------------------------------------------------------------------------
0000000000----------------------------------------------------------------------------------------
00000000000---------------------------------------------------------------------------------------
000000000000--------------------------------------------------------------------------------------
0000000000000-------------------------------------------------------------------------------------
00000000000000------------------------------------------------------------------------------------
000000000000000-----------------------------------------------------------------------------------
0000000000000000----------------------------------------------------------------------------------
00000000000000000---------------------------------------------------------------------------------
000000000000000000--------------------------------------------------------------------------------
0000000000000000000-------------------------------------------------------------------------------
00000000000000000000------------------------------------------------------------------------------
000000000000000000000-----------------------------------------------------------------------------
0000000000000000000000----------------------------------------------------------------------------
00000000000000000000000---------------------------------------------------------------------------
000000000000000000000000--------------------------------------------------------------------------
0000000000000000000000000-------------------------------------------------------------------------
00000000000000000000000000------------------------------------------------------------------------
000000000000000000000000000-----------------------------------------------------------------------
0000000000000000000000000000----------------------------------------------------------------------
00000000000000000000000000000---------------------------------------------------------------------
000000000000000000000000000000--------------------------------------------------------------------
0000000000000000000000000000000-------------------------------------------------------------------
00000000000000000000000000000000------------------------------------------------------------------
000000000000000000000000000000000-----------------------------------------------------------------
0000000000000000000000000000000000----------------------------------------------------------------
00000000000000000000000000000000000---------------------------------------------------------------
000000000000000000000000000000000000--------------------------------------------------------------
0000000000000000000000000000000000000-------------------------------------------------------------
00000000000000000000000000000000000000------------------------------------------------------------
000000000000000000000000000000000000000-----------------------------------------------------------
0000000000000000000000000000000000000000----------------------------------------------------------
00000000000000000000000000000000000000000---------------------------------------------------------
000000000000000000000000000000000000000000--------------------------------------------------------
0000000000000000000000000000000000000000000-------------------------------------------------------
00000000000000000000000000000000000000000000------------------------------------------------------
000000000000000000000000000000000000000000000-----------------------------------------------------
0000000000000000000000000000000000000000000000----------------------------------------------------
00000000000000000000000000000000000000000000000---------------------------------------------------
000000000000000000000000000000000000000000000000--------------------------------------------------
0000000000000000000000000000000000000000000000000-------------------------------------------------
