
...............```````........;+++;;.........;+*************************************+++++++++++++++++++++***************************************************************************
................````````.``...;+++;;.........;+*************************************+++++++++++++++++++++++*************************************************************************
..........````````````````....;+++;;.........;+*************************************+++++++++++++++++++++++*************************************************************************
.........`````````````````....;+++;;.........;+*************************************++++++++++++++++++++++**************************************************************************
........``````````````````....;+++;;.........;;********************************************+++++++++++++++**************************************************************************
.......````````````````````...;+++;;.........;;*************************************************************************************************************************************
....```````````````````````...;+++;;..........;*************************************************************************************************************************************
...````````````````````````...;+++;;..........;+************************************************************************************************************************************
....````````````````````````..;+++;;..........;+************************************************************************************************************************************
...`````````````````````````..;+++;;..........;+************************************++++++++++++++++++******************************************************************************
..```````````````````````````.;+++;;..........;+************************************+++++++++++++++++++++***************************************************************************
.```````````````````````````..;+++;;..........;+************************************+++++++++++++++++++++***************************************************************************
.```````````````````````````..;+++;;...........;*************************************++++++++++++++++++++***************************************************************************
.```````````````````````````..;+++;;...........;*********************************************+++++++++++****************************************************************************
.````````````````````````````.;+++;;...........;************************************************************************************************************************************
.````````````````````````````.;+++;;...........;+***********************************************************************************************************************************
.````````````````````````````.;+++;;...........;+***********************************************************************************************************************************
`````````````````````````````.;+++;;...........;+***********************************************************************************************************************************
`````````````````````````````.;+++;;............+************************************+++++++++++++++++******************************************************************************
`````````````````````````````.;+++;;............+************************************+++++++++++++++++++****************************************************************************
````````````````````````````..++++;;............;************************************++++++++++++++++++*****************************************************************************
`````````````````````````````.++++;.............;**************************************++++++++++++++++*****************************************************************************
`````````````````````````````.++++;.............;+**********************************************************************************************************************************
`````````````````````````````.++++;.............;+**********************************************************************************************************************************
`````````````````````````````.++++;.............;+**********************************************************************************************************************************
````````````````````````````..++++;.............;+**********************************************************************************************************************************
````````````````````````````..++++;..............+***********************************+++++++++++++++********************************************************************************
`````````````````````````````.++++;..............+***********************************+++++++++++++++++******************************************************************************
`````````````````````````````.+++;;..............;***********************************+++++++++++++++++******************************************************************************
`````````````````````````````.+++;;..............;************************************+++++++++++++++*******************************************************************************
````````````````````````````..+++;;..............;**************************************++++++++++++********************************************************************************
````````````````````````````..+++;;..............;+*********************************************************************************************************************************
````````````````````````````..+++;;..............;+*********************************************************************************************************************************
````````````````````````````..+++;;..............;+*********************************************************************************************************************************
````````````````````````````..+++;;...............+*********************************************************************************************************************************
````````````````````````````.;+++;;...............;**********************************+++++++++++++++********************************************************************************
````````````````````````````.;+++;;...............;**********************************+++++++++++++++********************************************************************************
````````````````````````````.;+++;;...............;***********************************++++++++++++++********************************************************************************
````````````````````````````.;+++;;...............;+***********************************+++++++++++++********************************************************************************
````````````````````````````.;+++;;...............;+*****************************************+**************************************************************************************
````````````````````````````.;+++;;................+********************************************************************************************************************************
````````````````````````````.;+++;;................+********************************************************************************************************************************
````````````````````````````.;++;;;................;********************************************************************************************************************************
````````````````````````````.;++;;;................;********************************************************************************************************************************
````````````````````````````.;++;;;..`.............;+*********************************+++++++++++++*********************************************************************************
````````````````````````````.;++;;;................;+*********************************+++++++++++++*********************************************************************************
````````````````````````````.;++;;;................;+*********************************+++++++++++++*********************************************************************************
````````````````````````````.;++;;;.................+***********************************++++++++++**********************************************************************************
````````````````````````````.;++;;;.................+*******************************************************************************************************************************
````````````````````````````.;++;;;.................;*******************************************************************************************************************************
````````````````````````````.;+++;;.................;*******************************************************************************************************************************
````````````````````````````.;+++;;.................;*************************************+++++++***********************************************************************************
````````````````````````````.;++;;;.................;+********************************+++++++++++++*********************************************************************************
````````````````````````````.;++;;;..................+********************************++++++++++++++********************************************************************************
````````````````````````````.;++;;;..................+*******************************++++++++++++++++*******************************************************************************
````````````````````````````.;++;;;..................;*******************************++++++++++++++++++*****************************************************************************
````````````````````````````.;++;;;..................;********************************++++++++++++++++++****************************************************************************
```````````````````````````..;++;;;...`..............;+*********************************++++++++++++++++++**************************************************************************
```````````````````````````..;++;;;..................;+*********************************+++++++++;;+++++++++++++********************************************************************
```````````````````````````..;++++;..................;+*********************************+++++++++;;;+++++++++++++++++++++++*********************************************************
```````````````````````````..+++++;...................+********************************+++++++++++;;;+++++++++++++++++++++++********************************************************
```````````````````````````..+++++;...................;********************************++++++++++++;;;;++++++++++++++++++++++*******************************************************
```````````````````````````..+++++;...................;**********************************+++++++++++;;;;;++++++++++++++++++++*******************************************************
```````````````````````````..+++++....................;************************************++++++++++;;;;;;;;+++++++++++++++++******************************************************
```````````````````````````..+++++....................;+************************************++++++++++;;;;;;;;;+++++++++++++++******************************************************
```````````````````````````..+++++....................;+*************************************++++++++++;;;;;;;;;;;;;;++++++++++*****************************************************
```````````````````````````..+++++....................;+**************************************++++++++++;;;;;;;;;;;;;;;+++++++++****************************************************
```````````````````````````..+++++....................;;****************************************+++++++++;;;;;;;;;;;;;;;+;+++++++***************************************************
```````````````````````````..+++++....................;;******************************************++++++++;;;;+;;;;;;;;;;;;;;+++++**************************************************
```````````````````````````.;+++++.....................;+******************************************+++++++++++++;;++;;++;;;;;;;;+++*************************************************
```````````````````````````.;+++++.....................;+********************************************++++++++++++++++++++;;;;;;;;;;+++**********************************************
```````````````````````````.;+++++.....................;+*********************************************+++++++++++++++++++;;;;;;;;;;;++++********************************************
```````````````````````````.;+++++.....................;+************************************************++++++++++++++++;;;;;;;;;;;;;+++*******************************************
```````````````````````````.;+++++.....................;+*************************************************+++++++++++++++;;;;;;;;;;;;;;;++++****************************************
```````````````````````````.;+++++.....................;;**************************************************++++++++++++++;;;;;;;;;;;;;;;;;++++**************************************
```````````````````````````.;+++++.....................;;***************************************************++++++++++++++;;;;;;;;;;;;;;;;;;;++++***********************************
```````````````````````````.;+++++.....................;;+****************************************************+++++++++++++;;;;;;;;;;;;;;;;;;;;;++++********************************
```````````````````````````.;+++++.....................;;+****************************************************++++++++++++++;;;;;;;;;;;;;;;;;;;;;;+++*******************************
```````````````````````````.;+++++.....................;;+*****************************************************+++++++++++++;;;;;;;;;;;;;;;;;;;;;;;+++******************************
```````````````````````````.;+++++.....................;;+******************************************************+++++++++++++;;;;;;;;;;;;;;;;;;;;;;;+++*****************************
```````````````````````````.;+++++......................;+********************************************************+++++++++++++;;;;;;;;;;;;;;;;;;;;;;+++****************************
```````````````````````````.;++++;......................;;********************************************************+++++++++++++++;;;;;;;;;;;;;;;;;;;;;+++***************************
```````````````````````````.;++++;......................;;*********************************************************+++++++++++++++;;;;;;;;;;;;;;;;;;;;;+++**************************
```````````````````````````.;++++;......................;;+*********************************************************++++++++++++++;;;;;;;;;;;;;;;;;;;;;+++**************************
```````````````````````````.;++++;......................;;+***********************************************************++++++++++++;;;;;;;;;;;;;;;;;;;;;;+++*************************
```````````````````````````.;++++;......................;;+************************************************************+++++++++;;;;;;;;;;;;;;;;;;;;;;;;;+++************************
```````````````````````````.;++++;......................;;+*************************************************************+++++++++;;;;;;;;;;;;;;;;;;;;;;;;+++************************
.`````````````````````````..;++++;......................;;+**************************************************************+++++++++;;;;;;;;;;;;;;;;;;;;;;;;++************************
.`````````````````````````..;++++;......................;;+***************************************************************+++++++++;;;;;;;;;;;;;;;;;;;;;;;+++***********************
......``````````````````....;++++;......................;;+****************************************************************++++++++;;;;;;;;;;;;;;;;;;;;;;;+++***********************
...........````````````.....;++++;......................;;+*****************************************************************+++++++;;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............``....````......+++++;......................;;;******************************************************************++++++;;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;.....................;;;;*****************************************************************+++++++;;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;.....................;;;;+***************************************************************++++++++;;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;...................;;;;;;+++***********************************************************+++++++++++;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;...................;;;;;;+++**********************************************************++++++++++++;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;...................;;;;;;++***********************************************************+++++++++++;;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;.................;;;;;;;;+************************************************************++++++++++;;;;;;;;;;;;;;;;;;;;;;;;;+++**********************
............................+++++;................;.;;;;;;;+*************************************************************++++++++;;;;;;;;;;;;;;;;;;;;;;;;;++++**********************
............................+++++;................;;;;;;;;;+*************************************************************+++++++++;;;;;;;;;;;;;;;;;;;;;;;;+++***********************
............................+++++;...............;;;;;;;;;;+**************************************************************+++++++++;;;;;;;;;;;;;;;;;;;;;;;+++***********************
............................+++++;.............;;;;;;;;;;;;+****************************************************************++++++++;;;;;;;;;;;;;;;;;;;;;;+++***********************
............................+++++;............;;;;;;;;;;;;;+*******************************************************************+++++++++;;;;;;;;;;;;;;;;;;+++***********************
...........................;+++++;...........;;;;;;;;;;;;;;+*********************************************************************++++++++;;;;;;;;;;;;;;;;+++************************
...........................;+++++;..........;;;;;;;;;;;;;;;+*********************************************************************++++++++;;;;;;;;;;;;;;;++++************************
;..........................;+++++;........;;;;;;;;;;;;;;;;;+**********************************************************************+++++++;;+;;;;;;;;;;+++++*************************
;..........................;+++++;........;;;;;;;;;;;;;;;;;+**********************************************************************++++++++++++++++++++++++**************************
;..........................;+++++;.......;;;;;;;;;;;;;;;;;;+**********************************************************************++++++++++++++++++++++****************************
;..........................;+++++;.....;;;;;;;;;;;;;;;;;;;;+*********************************************************************++++++++++++++++++++*******************************
;;.........................;+++++;....;;;;;;;;;;;;;;;;;;;;;+********************************************************************+++++++++++++++++***********************************
;;..;;.....................;+++++;;...;;;;;;;;;;;;;;;;;;;;;+*******************************************************************+++++++++++++++++************************************
;;;;;;;....................;+++++;;;;;;;;;;;;;;;;;;;;;;;;;;+*******************************************************************++++++++++++++++*************************************
;;;;;;;;..................;;+++++;;;;;;;;;;;;;;;;;;;;;;;;;;+******************************************************************+++++++++++++++++*************************************
;;;;;;;;;;;...............;;+++++;;;;;;;;;;;;;;;;;;;;;;;;;;+*****************************************************************+++++++++++++++++**************************************
;;;;;;;;;;;;;...;;..;;;;;;;;+++++;;;;;;;;;;;;;;;;;;;;;;;;;;+****************************************************************++++++++++++++++++**************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;;+++++;;;;;;;;;;;;;;;;;;;;;;;;;;+***************************************************************++++++++++++++++++***************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+**************************************************************++++++++++++++++++****************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+**************************************************************++++++++++++++++******************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+***************************************************************++++++++++++++*******************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+***************************************************************+++++++++++++********************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+****************************************************************+++++++++++*********************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+******************************************************************++++++++**********************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+********************************************************************+++++*****************************************++++**
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+************************+*********++*****************************************************************************++;;+**
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+************************;**+**+**;* ****************************************************************************+;;;;+**
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;+************************;*;;*++**+* ***********************************************************************+++*+;;;;;+**
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;*************************;*;**+***** **********************************************************************+++++++++++***
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;*************************;;`*+`**`** *********************************************************************++++++*++++****
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;*************************; `*` *; ** ********************************************************************+++++++*********
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;************************* *********.`********************************************************************++++++**********
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;**********************************************************************************************************++++***********
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;*************************************************************************************************************************
;;;;;;;;;;;;;;;;;;;;;;;;;;;++++++;;;;;;;;;;;;;;;;;;;;;;;;;;*************************************************************************************************************************