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