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