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