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