'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;;;;:::::::'''::;;::;;xx##################################xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::::'''`''''''`'''''''''':::;xx##############################xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::''''':::::::;;;;;; '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::'''`````````````'''''''''''''':;;x############################xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::':::''':::;;;;;;;;; ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''```````````````''''''''''''''::::::;x##########################xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::;;x;:::::;;;;;;;;; ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''```````````''''`''''''''''''''::''':::;;x#######################xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::;;;;;;;;; ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''```....````````'''''''''''''''''''''':::::;;x#####################xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::'':::;;;;;;;;;;; '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;;;;;;;::'``......````````'''''''''''''''''''''''::::::xx####################xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::;;;;;;;; '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;xxxxxx;:``.........```````````````''''''''''''''''::::;x####################xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::;;;;;:: '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;;xxxxx;:'`..........```````````````''''`'''''''''''''::;x###################xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::: '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;;;;;xx;:``..........```````````````````'''''`'''''''''':;x##################xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::: '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;;;;;x;:'`............```````````````````''''''''''''''':;x#############xxxxxxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::: ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':;;xxxxx;:'`................```````````''`````''''''''''''';x##########xx;:':;xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''::;;;;;;;:'`....................````````````````'''''``'''':;x#########xx::::xxxxx;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::: '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':::::::'''```.....................``.`````````'''''''``'''';x##########x;;;xxxxxx;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::: `````````````'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''```.....```'''```......`````.```````'''''''''``'':x###########xxxxxxxx;;::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::: ..............```````````````````````````````````````````````````'''````````````````'''``......`````...```````````''''`'':x##########x;:;xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::: .........`''`...``''''''`````````````````````````````''''``......``'``''''`````'''``''''`.......````...`````````````''''':x#########x;'':;xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::: .........`''`...`':;;;;;::::::::::::::::::::::::::::::;;::'`.....`':'''''''``'''''``''''`........`````.````````````````'':x########xx:'';xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::: .........`''`...``'''''''''''''''''''''''''':::::::::::::'``.....`'::''''''''''''`````'``.........`````````````````````'':x#########x;::;xxxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::: .........`''``.``'':::::::'''''''''''''''''''':::'''''''''``....``::''''''''''''''```'``````.......`````````````````````':x########x;::;x#xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::: ......`..`''``````'''''''''''`''`````````````....```...`````...``'''''''''''''''''''''``````.......``````...````````````';x#######x;:':;x##xxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::: ......``.`'''`````````````````````````..`..``''''''''':''```..``':''``''''`'''''''''''`'''```````````````````````...```';x########x;'':;x#xxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::: ....````.`'''`````````````````````'''```````':;x;;;:::::'```.``':::''`'''''''''''''''''''''''''''```````````'''''``````';x#######xx;':;xx#xxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ````````.`'''```````````````````````````````':;;:'''::''`':;;;:'':'''``'''''''''''''''''''''''''''''''````````````````':;x#######xx;;;x##xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ``````````''''````'``````````````````````````''''''::'```';xx;:''''`````''``''''''''''''''''''':::::''``..````````````'':;xxxx###x;:;x###xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::: ``````````''''```'''````````````'''''````..``''''''''````';x;:'''''```````''`''''''''''''''''::::''`````````````````````''''':;xxx;:xx###xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ``````````'':'```'''``````````````````````````````....```';xx;''''``''''```````'''''''''''''''''`````````````````````````''''':;;;;;x####xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ``````````'':'```'''``'''''''''``````````````````````````';xx;:'''``'::''```````````''''''''''```````````````````````````''''''':::;xxx##xxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::: ```````````':'```''''`'''''''''''''''''''````````````````';##x;:'``''''''`..``````````''''````````````````````````````````'''''''''''::;xxxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::: ```````````':'````''''':;xx;:':::;::''::::'``````````````';####x;:'``''''``...```````''```````````````````````````````````'''''''''''''''::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::: ```````````'::````'''`''::::''''''''`''''````````````````';xx#xxx;:'```````.....````````````````````````````````````````````'''''''''''''''''::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::: ```````````'::'```'''```'''```''''````````````````````````''````````````````...`````....``````````````````````````````````````''''''''''''''''''::;;;x;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ```````````'::'```'''`````````````````````````````````````..........`````````````````````````````````````````````````````````````'''''''''''''''''::;;;xx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::: ```````````'::'````''''''''```````````````............```.``.......`````````````````````````````````````````````````````````````````````````''''''''::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ```````````'::'````````````````````.............``...............````'`````````````````````````````````````````````````````````````````````````'''''''::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ````````````':'``````````````````..................`````````````````````````````````````````````````````````````````````````````````````````````'''''''''':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::: ````````````'''````````````.`.....````````````''''''''''''```````````````````````````````````````````````````````````````````````````````````````'''''''`'':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::: ```````````'::''`````````'''''`''''''''''''''``````......`````````````````````````````````````````````````````````````````````````````````````````'''''''''':;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::: ```'':::;;;xx;:`````'''''::''``````..........`....````''''''`````````````````````````````````````````````````````````````````````````````````````````'``''''':;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::: xxxxxx;;;::'''````````````..........................``''''```````````````````````````````````````````````````````````````````````````````````````````````''''':;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::: ::''``````````````````..````````````````.............``````........``````````````````````````````````````````````````````````````````````````````````````'''''''::;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::: `````````'`````'`'''````````...........``````...````````............................```````````````````````````````````````````````````````````````````````````'':;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::: ```'''''''''''''''''```````````...........```.........................................`````````````````````````````````````````````````````````````````````````'':;;;;;;;;;;;;;;;;;;;;;::::::::::::::::: '''''''''''''''':::::'''':::''''`........``........```..................................````````````````````````````````````````````````````````````````````````'':;;;;;;;;;;;;;;;;;;;:::::::::::::::::: ''''::::::;;;;;;xxxx;;;;;;;;;;::'```````````````''':'`......................................`````````````````````````````````````````````````````````````````````'':;;;;;;;;;;;;;;;;:::::::::::::::::::: ``'::;;;;;;x;;;;;;;;;;;;xxxxxxx;::::::;;;;:::;;;;;;:`........................................``````````````````````````````````````````````````````````````````````'::;;;;;;;;;;;;:::::::::::::::::::::: .......``'::::::::::;;;;;;;;;;;;;;;;::::;;;x;xxxxx;:`.............................................`````````````````````````````````````````````````````````````````'':;;;;;;;;;:;;:::::::::::::::::::::: ``````'':;;;;xxxxxxx;;;;;;;;;;;;;;;;;;;:::;;;xxxx;;'`...............................................````````````````````````````````````````````````````````````````'':;;;;;;;;;;::::::::::::::::::::::: xxxxxxxxxxxxxxxxxxxx;;;;;;;;;;;;;;;;;;;;;;::::::::'`.................................................````````````````````````````````````````````````````````````````'':;;;;;;:::::::::::::::::::::::::: xxxxxxxxxxxxxxx;;;;;;;;;;;;;;;;;;;;;;:::''``...`''``....................................................``````````````````````````````````````````````````````````````'::;:::::::::::::::::::::::::::::: xxxxxxxxx;;;;;;;;;;;;;;;;;;;;;::'''``.........``'`..........................................................```````````````````````````````````````````````````````````':::::::::::::::::::::::::::::::: ;;;;;;;;;;;;;;;;;;;;;;::'''``................`''``..............................................................```````````````````````````````````````````````````````''::::::::::::::::::::::::::::::: ;;;;;;;;;;;;;;;::''``........................`''`..........................................................................`````````````````````````````````````````````'':::::::::::::::::::::::::::::: ;;;;;;;;;;;;;;:`............................``'`...........................................................................``````````````````````````````````````````````':::::::::::::::::::::::::::::: ;;;;;;;;;;;;;;;:`...........................`'``......................................................................```````...``````````````````````````````````````````'::::::::::::::::::::::::::::: ;;;;;;;;;;;;;::''`.........................``'`............. ................................................................``````````....``````````````````````````````'':::::::::::::::::::::::::::: ;;;;;;;;;;;;;::''``.................... ..```............. ..............................................................``.```````````.....````````````````````````````':::::::::::::::::::::::::::: '::;;;;;;;;;;;;::'``............. ...``'`............... ............................................................``````````````````....````````````````````````````'::::::::::::::::::::::::::: ;:'':;;;;;;;;;;;;::'``...... ....``''':::''............... ........ ...............................................````````````````......````````````````````````````'':::::::::::::::::::::::::: #x;::;;;;;;;;;;;;;;:::'`.....``''':::::::::::'`............... ....... .. ..............................................````````````````````..``````````````````````''::::::::::::::::::::::::'' #xxx;;;;;;;;;;;;;;;;;;::''::::;;;;;;;;;;;::::'``. ............ ..... ..........................................``````````````............````````````.``````'':::'''::::''''''''''''''' xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::'`.................... .....................................................................`````````...`````'':'''''''''''''''''''''''' xxxx;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::'''`... ............... ........................................................................````````..``````'''''''''''''''''''''''''' xxxxx;;;;;;;;;;;;;;;;;;;xx;;;;;;;;;;;;;;:::''````.. ............. ......................................................................```````````````'''''''''''''''''''''''''' xx;;;;xx;;;xxxx;;xxxxxxxxxxxx;x;;;;;;;;:::''`````.. ............. ................................................```....................``........`````''''''''''''''''''''''''' #xxxxxxxxxxxxxxxxxxxxxxxxxxxxx;;;;;;;;:::'''``````... .... ...... .....................................................................`........`````''''''''''''''''''''''''' xxxxxxxxxxxxxxxxxxxxxxxxxxx;;;;;;;;;::::'''''``````... ....... ....................................................................``.......```````'''''''''''''''''''''''' xxxxxxxxxxxxxxxxxxxxxxxxxx;;;;;;;;;::::'''''```````... ..... ...................................................................``````...`````````````'''''''''''''''''' xxxxxxxxxxxxxxxxxxxxxxx;;;;;;;;;:::::''''''```... . ... ...............................................................````......```.````````````''''''''''''''' xxxxxxxxxxxxxxxxx;;;;;;;;;;;:::::''''''``.... ..............................................................```..........`````````````````'''''''''' xxxxxxxxxxxx;;;;;;;;;;;::::::::'''``... ..............................................................`............`````````````````````''''' xxxxx;;;;;;;;;;;;:::::::::'''``... .... .............................................................```...........```''`````````````...```` ;;;;;;;;;;;::::::::::'''``.. ...................... ....................................................````..`...............``'''''`````````````.... ;;;;;::::::::::'''``... ...................................... ..........................................................................``''''''``````````````.. :::::::::::''``.. ..............```````````````........``````........ .........................................`.............................``'''''````````````````.