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