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