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