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