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