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