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