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