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