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