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