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