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