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