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