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