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