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