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