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