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