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