++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++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
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
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-------------------------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000---------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000--------------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-------------------------------------------------------------------------------------------------------
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000------------------------------------------------------------------------------------------------------
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000-----------------------------------------------------------------------------------------------------
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000----------------------------------------------------------------------------------------------------
