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