:..::::+;:::::;:::::::::::::..:::::::::::::::::::::..::::::;;;;:::::::::::::::::::::::::::::::::::::::::::::::::::...::;::;;;;:;;;;;;;;++;+++++++++++++++++++++++++++x+++++++++++++++++++++;++++++;;;;;;+;;;:..::::::::::::.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.::: xx;::;++;::::::::::::::::::::::::;;:;;:;;;;::.:::::...::::;:;;::::::::::::::::::::;::::::::::::::::::::::::::::::::::;;;;;;;;;;;;++++;+++++++++++++++++++++++x+++++++++++++++++++++++++;;++++;;+++;;;;;;;:;;:::::::::::::::::.:::::::::::::::::::::::::::::::::::.::::.::::::::::::::::::::::::::;+ :::::;++++::::::::::::::::::::..:::;;:::::::::::::::.::::::::;;;;:::::::::::::;:::::::::::::::::::::::::::::..:::;::;;;;;;;;;++++++;+++++++++++++++++++++++++++++++++++++++++++++++++++xx++++++++;;;;;;;;+;;;;:::::.....:++;:::::::::::::::::;::::::::::::::::::::::::::;;::::::::::.:::::::::::::: ::::;;:::;;:;;:::::::::::::::::::;:::;::::..::::::::::::::::::;;;+;;;;;;;+::::::.:::::::;::::::::::::::;;:...::::;;;;;;;;;;++++++;+++++++;++++++xx++++++;;++++++++xx+++++++++++++++++++++;++++++;+++;+;;;;;;;;;;;:;;;;::...:::::..:::::::::::::::.:::::::::::::::::::::::::.:::::.::::::::::::::;;: :::::::::::::::::::..::::::;:::::::..:.::::::;;::::;;:;+;;::::;;++;;;::::::::::::::::::::::::::::::::::::.:::;;;;;;;::;;+++++++;;;++++++++;;+++++++++++;++++++x++++++++x++++x+xx++++++++xx+++++++++++++++;+++;;+++++;;;:;;;:..:+::::::::::::::;::::::::::::::::::::::::::::::::::::::::::::::::;++; ::::::::::;:::;xxx++;::::::::::::::::;::.:;;::::++:::::::::.::::;;::;;;;;::::::.:::::::::::::::::::::..:;::;;;;::;;+;++++;;;+;;+x++++;;+++++++x++++++++;;;+++++++++++++x+xxx++++++++++++++x++++++++++++++++;++;;++++++;;;;;;::...:::..::::::::::.:::::::::::::::::::::::::::::::...:::::::::::::::: :::::::::.:::::::::::::::::::.::::::::::....::::::::::.::::::::::::::::::::::::::;;:::::::::::::;;:..:;;::;;;;;;;;+++;+;;+;;++++++;;++;;;+++x++++++++;++++;;++xx+++++++++++++++xxxxx++++++++++++xx++x+++++++++++++++++++;++;;;:....:::::::::::::::::::::::::::::::::::::::::::::...:::::::::::::::: ::::::::::::::::::::::::::::::+::::::::;;:::::::::::.::::::::;::::::::::::::::::::::::::::::::::..::;;;;::;;;;+++++++++;++++++;+++x+++++++++++++;++;;+++++;;++;+++++++++xxxxxxxx+++xxxxxxxxxx++++++++xxxxxxxxx+++++;+++++;+++;;;:...::::::::::::::::::::::::.:::::::::::::::::::::::::::::::::::::: :::::::+;::::::::::::::::::::::::.:::::::::::::::.:::::::::::::;;;:::::...:::::::::::::::::::::..:;;;;;;;;;+;+++;;++++;+++++++++x++++++xx++++++++++++++++++++;;+++++++xx++++x+++xx++x+++++++++x++++xx+++++++++++x++++++++++;;;;;::...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::;::::;::::.:;::::::::::;;:::::::::;;:::;::::::::::::::::::::::::::::::::::::::::::...:;++;;;:;;;;;;;;;;+++++xx++++++++++xx+++++++++x+++++xx++xx+++++xx+++x+++++++++xx+++xxx+++++xx++xxxxxxxx+++xx+++xx+++++++++++;;;;+;;;:...:::::::::::::::::::::::::::::::::::::::::.:::::::::::::::::: :::::::::;:::::::::::::::;:::::::::::::::::++;::::;:+;:::::::::::::::;;::::::::::::;;::::::..:;;+;;;;;;+;:;;+;;++++++++++++++++x+++++++++++++++++xx++++++++xxx++++++++++++++x+++++++xxxxx+++x++++x++++xx++xxxxx++xxxx+++++++++;++;:::..:::::::::::::::::::::::::::::::::::::::::..::::::::::::::::: ;;;:::::::::::::::::::.::;::::::::::::::::::::::::::::;;::::::::::::::::::.:::::::;;+:......;;;++;;;;;;;;;+++;++++++++++++++++++++++xx+++++++++++++++++++xx++++xxxx+++++xxx++++++++++++++xxxxxxxxx+++++xxxxxx+xxxxx+++xx++++++++++;;;:...:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +x+::::.::::::::::::::;:::::::::::::::..::::.::::::::;+;::;::::::::::::::::::::::;xxx+;;;::;;;+++;;;:;;+++++++++++x++++++++++++x++x+++++++++++++xx+++xx++++++++++++++xxxx++++xxxxx+++++++xxx+++xxxxxxxxxxxxxx++++xxxx++xxx++++++++;;;:::..:::::::::::::::::::::::::::::::::::::+++;;::::::::::::::: :::::::::::::::::::....:::::::::::::::::::::::::::::::::::..:::::::.:::::::::::::;;x+;;::;;;++++;;:;;+++++++++++++++++++++++xx+++++++++++++++++++++xxxxxxxxxxx+xx+++++++++xx+++++++++++++++++++++xxxxxxxxxxxxxxxx+++xxxxxxxx+++++++;;::::.:::::::::::::::::::::::;;+;;;;::;;;:::::::::::::::::::::: :::;:::::::::::::::::::::::::::::::::;:::::;+;:::::::;::::.....::::::::;;;::::::::;::..;+++++++;;;;++++++++++++xxxx++++++++++++++xx++++++++x++++x++xxx++++++++++++xxx+xxx++xxxxxxxxxxxxx+xxx++++++xxxxxxxxxxxxxxxx+++xxxxxxxxxx+xx+++;:;;:....:::::::::::::;;;;;;;:;;;;::::::::::...::::::::::::.:: ::::::::;;::::::::::+;:::::.::::::::::.::::.::.:::::::;::::::.:::.:::::::::::::::::::.:;++++++;;;;;+++++;+++++++xx+++++xxx+++++x+++++x+++xx++++xx++++xxx++xxx++x++xxxx++++++++++xxxx++++++++;;+++xx++x++xxxxxxxxxxxxxxxxxxxxxxxxxxxx+;;:;;:.....::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::.:::::::::::.::::::::::::::::::::::.::;:::;+:::::::::..:::::::;;++++x+;::;;+xx++;+++++++x++x+++x+++xx+xxxx++++++xxx++++xxx+xxxxxx++++xxxxxx++x+x+++xxxxx++++xxxxxx++;;;;+xxxxxxxxxxxxxxxxxxx++xxxxxxxxxxxxxxx++++;;;;..:::::::::::::::::::;;::::::::::::::;;:::::::::::::::. .:::::::...::::::::::.::::::::::::::::::::::::::;::::::::::::::::::::::::::::::::...;++++++;;;;++++++++++++++++++++++x+++++++xxx+++++xxx+++++x++xx++++++xx+++++++++++++x++++++xxxxxxxxxx++++;;;++++xxxxxxxxxxxxx+xxxxxxxxxxxxxxxxxxx++++;;;;:::::::::::::::;++::;::::::::::::;;::::::::::::.::::::. +;:::::::::::::::::::::::::::.:::::::::::::::::::::::::::;;:::...::.:::::::::::::..;++xx++;;;;+++++++++++++x+++++++xx+++xxx+xxxxxxxxx+xx+++++x++++++x+++++xx++;;;+++++++;+++;+++xx++xxxxxxXx+++++++x+xxxxxxxxxxxxx++xxx++xxxxxxxxx+xxxx++;++;::.:::::::::::::::::::::.::::::;;::.:::::::::::::::::. ::::::::::::::.::::::::::::;;:::::::::::;;;::;:::::::::::::::::::::.::...::::..::::+++++;;;;++++++++++++xx+++x+++x+++++x+++xxx++xx+++x++++x++xxxxxxxxxxx++;;+++++++++++++++x++++;+++++++xxxxxxxxxxx+;;++xx+xxXXXxxxxxxxx++++++xx+++x+xx++++++;:::::::::.::::::::::::::::::::::::::::::::::::..::::: :::::::::::::::::::::::::::::.::::::::::::::.:.::::::::::::.:::::::::::::::::.:..;++++;;;;+x++++x+++++++++++++++++xxxx++++xx++xxxxxxxxxxxxxxxxxxxxx++++++++xx+++++++xxxxxxxxxxxxx+xx+++++xxxxxxxxx++;;+++++++xxxx+++xxxxxxxx++++++xxxxxx++++++;::;::::::::::::::::::::::::::::::;;;:.:::::::::::::; ::::::::.:::::;:::::::::::::::::::;;;::::;:::::::::::::::::::::::::::::::::::..:;++++;;+++++++++++;;++++xxxxxxxxxxxXxxxXXxxxxxxxXxxxxxxXxXXXXXxx+++++++++++++++xxxxxxxxxxxxxxXXXXXXxxx+++++xxxxxxxx++;;;++xx+++++xxx+++++xx++xx++xxx+xXXxx++++;:::::::::::::::::::::::::::::::::::::::::::::::::::; ::::::::..:::::::::::::::::::::::::...::::::::::::::::::::;:::;;;;;:::::::::...;++;;;++;++;+++++++;;+xxxxxxxXxxxXXXXxxxxxxxxxxxxxxxxxx+++xxx+++++++++++;+++++++xxxxxxxxxxxxxXXXXxxXXXXxxx++xxxxxxxxxxxxxxxxxxx+++++++++++++xx+++++++++x++xx++;;;;:::;:::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::...::::::::::::::::::::::::;;:::::.::::::...:;++;;++;;;;+++++++xxxxxxxxxxxxxxxxxx+++++xx++++++++xxxxxxx++++++++++++++++++++xxxxxxx+x+:....:;+xxxxxxxxxxxxxxxxxXxxxxxxxxx++x++++++xxx++++++++++++++++++xx++++;;;:;:::::::::::::::::...:.:::::::::::::::::::.:::::: ::::::::::....::::::::::::::::::::::::::::::::::::.:::::::::::::::::.:::::::::;;;;;;;;;;;;:;+++++;+;;++;++++++++++++x++xxx++++xxxxxxxxx+++x+++++++++++xx++++xxxxxxx+;...........:;+xxxxxxxxxxxxxxxxxxxxxxx+xxxx++++++xx+++++++x+++++++++++++x+++;;::;;:::::::::::::.....:;::::::::::::::::::::::::: :::::::::::::;;;;::.::::::::::;;;;;:::;:::::::::::::::::::::::::::::.::::...:::;;::;;;++;+++++;++++++++++++++++++++++xxxxxxxxxxxx+xxx+++++++++++++++++++++++++xxxx:................;+xxxxxxxxxxxxxxxxxxxxxxxxxxxx+++++++++++++++++++++++++xxxx++++;;++;:;;::::::::::::;++;::;;::::::::::::::::::::: :::::;:::::::::::::.::::::::::::::::::::.::::::::::::::::::::::::::::::::..::::;;;;;++;;++++++++++++++++++++++++++++x++xx+++xxxx+xxx++++x+++++++++++++++++xxxxxx+.......;xx+;::.....:+xxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++xx+++++++++++++++xxxxxx++x+;:;+++x++;;::;;;;:;;;+++;::;::::::::::::::::::::: :::::::;:::::::::::::::::::::::::::::.::::::::::::::::::::::::::::.:::....::;:;+++x+++x+++++++++x+++++++++++++x+++++++xx++++++xx+xx++++x+++++++++x+++++++xxxxx+:.....:X$$$$$$$$Xx::...;xxxxxxxXXx+xxxxxxxxxxxxxxx++++++++++x++++++++++xxxxxxx+xxx+;::;;;;;;;;;;;++++xx+;::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::...::;;;xxx++++++++++++++++x+;;++++++++++x+++xxxxx+++++++++x++xx+x++++++++x+++x+++xxxxx:......+$$$$$$$$$$$$$X;:.:++xxxxxxxxxXXxxXXxxxxXXxx++xx+++++++++++xxxxxxxxx++++xxxxx+;;;++;;;::::::::::;;::::::::::::::::::::::::::::: ::::::::::::::;:::::::::::::;::::::::::::::::::::::::;;:::::::::::::::::::;;++xx+xx+x++;;x++;+++;++++++++++++++x++++xxxxx++++xxxxxxxx+x+++++++++++++xx++xxxx;.......$$$$$$$$$$$$$$$$x:::++xxxxxxXxxXXXXXXxXXXXXxxxxxxxxx+++++++xx++++xxx++xx+++xxxx+:;+;::;;;;;::;;::::;;::::::::::;::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;::::::::.:;:::;;+xX+.:++++++++++++++;;++;;++++++;;++xx++++++xxxxxxxx++xxxx+x+++++;;+++++x+++xxx+........;XXX$$$$X$$$$$$$$$+..:++xxxxxXXxXXXXXXXxxXXxxxxxx+xxxx+xxx+xxxxxxxxxx++xxxxx+++++;:::::::::;:::::::;;::::::::::::::::::::::::::: ::;:::::;;;;::::::::::::::::::::::::::::::::::::::::::::::::;:;;;::::.::;;+xx;...:xxxx++++x+++xx++++;;++++++++++xx++xx+xx++++x++xxx+++x+xxx++++++x+x++++xx;........;+xXXXXxXX$$$$$$$$X:..+;+xxxxXXxxXXXXXxxXxXXxxxxxxxxxxxx++xx+++xxxxxxxx++xxxxxx+;;;;;;:::::::::;;;;;;;++;::::::::::..::::::::::: ::::::::.::::::::::::.:::;:::::::.:::::::::::::::::::::::::::::::::::::;;;x+;;....+xxx+++;+++++;++;;++;++++++++++++++xxxx+++++++xxxx+xxxxx+++x++x++x+;++xx;........x$$$$$XXxX$$$$$$$$$;..;++xxxxxXXxXXXXXXxXXXXXxxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxx++;;++;;;:::::::::;;;;;:::::;::;::::.::::::::::::: :::::::::::::::::::::::.:::::::::::::::;::;;:::::::::::::::::::::::::::;;++;+x+....+xx++++++++++++++;;;;++++;++++++++xxxx++++xxxxx+++xxxxx++xx+xx++x++++++.........;$$$$$$XxxX$$$$$$$$+..:++x+xxxxXXXXXXxXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+;;;+;;;;:;;::;:::;;:::;;;;::::::::::;:::.::::::: :::::::::::::::::::::::::::::.:::::.::+;::;;++::::::::::::::::::;;;:.:;;;:;XX$$:....:xxxx++x+++++++++;;;;++;;++x++x+xx+xx+++xxxxxxx+xxxxx++++++x+++x++++++:.........x$$$$$$XX$$$$$$$$$;...+xx+xxxxXXXxXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+++;;;;:;;;;:;;++;::::::;;:::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::;;::::::::::::::::;;:::;;:;;:+$$$$$x.....:xxxx+++++x+++++++++x+;;+++xxx+x++xxx+xxxxxxxxxxxxxxxxxxxx++++x+++x+++..........;X$$$$$$$$$$$$$$X....+xxxxxx+XXXXXXXxXXXXXXXXXXxxxxxxxxxxxxxxxxxxXxxxxxxxxxxx+;;;;;;;;;;:;;:;::::::::::;;::::::;;:.::::::::::: ::;::::::::::::::::::::::..:::::::::::::::::::;;:::::::::::::;:::::;+++;x$$$$$$$;.....:+xxxx++xx++++;;++;+++++++x+++xxxxxxxxxx+xxxxxxxxxxxxxxxxxxx+xxxxx++x;...........x$$$$$$$&&&&$X;....xx+xxxxxXXXXXXXXXXXXXXXXxxxxxxxxxxxxXXXxXXXXxXXxxxXxxxxx+;;;+;;;;+++;;;:::;:::::;:::::::::::::::::::::::: :::::::::::::::::::::::::.:::::::::::::::::::::::::::::::::::;++::;;::+x$$$$$$$$$......;+x+x+xx++x+++;;;;+x++;;+xxx+xxxxxxxx++xxx+xxxxxxxxxxxxxxxxxxx++xx++x+:...........:;xXXXXXx+:.....+xxxxxxxxXXXX$XXXXXXXXXXXXxxxxxxxxxXXXXXXXXXXXXxxxxXxxxx+;;;;;++;;++++++++;::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::;:::::::;;:.:::::::;::;;:::::::::::;;+;:::::;X$$$$&$$X$X.....:+xxx++xx++++++++++x++;;+x++xxxxxxxxx+xxxxxx++xxxxxxxxxxxxxxxxx+xx++xxxx;.......................:xxxxxxxxxxX$XXXXX$XX$XXXXXXXXxxxxxXXXXXXXXXXXXXXXXXxxxxx++;:;+;++;;;;;;;;+;:::;:::::::::::::::::::::::::::: ::::::::::;;;:::++;;+;::;::::::::::::::::::::+;::::::::::;;:;;;;;;;:::;X$$$$$$$$X$+....:+x+xxxxx++++++xx++x++;++xxx++x+xx+xxxxxxxxx+xxxxxxxxxxxxxxxxXxxxxxxxxxxxx+;..................;xxxxxxxxxxxxX$$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxx+;;;:;+++++;;;;;;;;::::::::::::::::::::::::::::;::: ;++::;:::::::::::::::::::::::::::;+++;::::;;:::::::::::::;::;+;;;:::::;X$$$$&$$$$$x.....+x++xxxxxxxx++++x+x+++++xx++xx+x++xxxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+;:......:;+xxxxxxxxxxXXxxXX$$XXXXXX$XXX$XXXXXXXXXXXXXXXXXXXXXXXXXxXXXXxxx+++;;;;+;;;++;.:++;;::;::::::::::::::::::::;;:::::: :::::::+;::::;;;:::::::::::::+x;:::::::;++::::::::::;;;;++;:;;++:::::::x$$$$$$$$$$x:...:xxxxxxxx++++x+++++x++++xxx+++xxxxxxxxxxxxxxxxxxxxXxxXXxXxxxxxxxxxxxxxXXXxxxxxxx+++xxxxxxxxxxxxxxxxxxXXXXXX$$$XXXXXXXXX$$$XXXXXXXXXXXXXXXXXXXXXXXXXXXxx+xXXx;;;;;;;+++;:;;;+;;+x+;:;;::::::::::::::::::::::: :::::.:;::;;;::::::;;::::..::::::::::;:::::.::;::::::;+;;;:;+;::;;;;:::+X$$$$$$$$$;:...+xxxxxxxxx+++xx++xxxxxx+++xxx+xxx++xx+xxxxxxx+xxxxxxxxXxXxxxxXxxxxxxxxXXXXxxxxxxxxxxxxxxxxxxxxxxxxXXXXXxxXX$$X$XXXXXXXXXX$$XXXX$$XXX$$X$XXXXXXXXXXXXX+;;;;;++x+++;;;++;:::;;::;++;;;;+;;;;:::::::::::::..::: ::::::::::::.::::::::::::::::::::::::::::;:::::::++;:::;;::+Xx+;;:;;;::;x$$$$$$&$x::.:+xXxxxxxxxxxxxxxxx+xx+xx++xxxx+xxxxxxxx+xxxxxxxxxxxxxxxXXXXXXXXXxXxxxxxXXXXXxxXXxxxxxxxxxxxxxxxxxxxXXXXXXXXX$$XXXXX$XXXXXX$$XXXXX$$XXX$$$$$XXXXXXXXXX++xxxx++;::;;;+++::;;;:::::;;;;:;;+++;;;;::::::::::::::: :;;::::::::::::::::::::::::::::::::::::;x+:::::++;:;x+;;;+:;;;+;:::;;;;++X$$$$$X+:.::+xxxxxxxxxxxxxxxxxx++xxxx+++x++x++xxx++++xx+xxxxxxxxxxxxXXXXXXXXxxXXXXxXXXXXXXXXXxxxxxxXXxxxxxXXXXXXXXXXXXXXX$$XXXxXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$XXx+;;;;;;+;;;;;;;;;::;;;;;;:::::;;;;++;;++++:::::::::::::: :::::::::.::::::::::::::::::::::::::::::::::::::::::::::;;;;;;::::::::;++++:::......+xxxxxxxxxxxxxxxxxx++xxxxx+++xx+++xxx++++++++xxxxxxxxxxxxxXXXXXXXXxXXXXXXXXXXXXXXXXXXXxxxXXXXXXXXXXXXXXXXXXXX$$$$$$XX$$XX$$$$$$$$$$$$$$$$$$$$$$$$$$Xxxx+++;;;;+xX++;;;;;;;;+;;:;;;::;+;:::;++;;;::;::::::.::::: ::::::+;;::::::::::::::::::::::::::::::::::::::::::::::::::;+;::::::;;+xxx++:......;xXXxxxXXxxXxxxxxxxxxxxxxx+++xxx++xxxxxxxxx++xxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$XXXXXX$$$XXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$XxxXxx+;;+;;+++++;++;;;;;::;;++++;:::;;;;::::::::::::::::::::: .::::::::::::::::::::;;::::::::::::::;::::::::::::::::::::::::::;+++++xXXxx+;;:..:+xxXXXXxXXxxXXxxxxxxxxxxxxxx++xxx+++xxxxx++x++xxxxxxxxxxxxxxxxX$$XX$XX$XXXXXXXXXXXX$$XXXXXXXXXXXXX$$$$$$XX$$$$$$$$$$$$$$$XXX$XX$$$$$$$$$$$$$$&$$$Xxxxxxxxx++;;;;;;+;;;::;;;;::::::::::::::::::::::::;;::::::::::: :::;+;::::::::::::::::::::::::::::::;;:::::;;:::::;;:;::;;:::::;;;::;++xxxx+++;;+xxxXXXXXXxxxxXXXxxXxxxxxxxxx+++xxx+xxxxx+++++++xxxxxxx+xxxxxxxxXXXXX$$XX$$$$XXX$$$$XX$$XXXXXXX$$$$$$$$$$$XX$&&&$$$$$X$$$$$$$$XX$$&&$&&&&$$$$$$$$Xxxxxxxxxxxxxx++;;;;+;:::::::::;;:::::::::::::;;;;:::::::::::::::: :::;:::::::;::::::::::::::::::::::::::::::::::;;;;;;;:::::::::;;:::;;;;xxxxxxxxxxxXXXXXXXXXXXXXXXXxxXxxxxxxxx++xxx+++xxxxx+++++xxxxxxxxxxxxxxxxxXXXX$$$$X$$$$$$X$$$$$X$$XX$$$X$$$$$$&$$$&$$$&&&$$$X$XXXX$$$$$X$$$&&&&&&&&&&&&$XxxXxxxxxxxxxx;;xx+::;;;;::::::::::::::::::::;;:::::;;;;::::::::::::: ::+;:::;+;::::::::::::::::::::::::::::::::::::::+;:::::;;:::::;;;;;;;;+++x+xxx+++xXXXXXXX$XXXXXXXXXXXXXXxxxxxxx+xxxx++xxxx++xxxxxxxxxxxxxxxxxxxxxXXXXX$$XX$$$$$$$$$$$$$$$$$$$$$$$$$&&$$$$$$&&&&$$$$$XXX$$$$X$$$$&&&&&&&&&&&&&&$XXXXXxxxxxxxxx+++xxxx+;;;::::::::::::::;+;:::;;:::::::;::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::;:;;;;::::::::::;::;;;+xx;+xxXXxxxXXXXXXX$$XXXXXXXXXXXXXXXXxxxxxx+xxxx+xxxx++++xxx++xxxxxxxxxxxxxxxXXXXXXXXXX$$$$$$$$$$$$$$$$&$$$$$$$$$$$&&&&&&&&$$$$XXX$X$$$$$$$&&&&&&&&&&&&&&&&$XxxXXxxx+xxxxx+xx;;;;;+xx;::::::;;++;++;::::::::::::;;:::::::;::::: ::::::::::::::::::::::::::::::::::::.::::::::::;:::::::;:::::;;;;;++++++++xXXXXXXXXXXXX$$$XXX$X$$XX$$XXXXxxxxxxxxxx+xxxxxx+x++++++xxxxxxxxxxxxxxxxxXXXXXXXXX$$$$$$$$$$$$$$$&$$$$$$$$$$&&&&&&&&$$$$$$X$$$$$$$$$&&&&&&&&&&&&&&&&&$XxxxXXxxxxxxxx;:::::;;:;x+;;::::::::;;;:;x+;;:;;;;::;;:;;::++;...:; ::;::::::;;:::::::::::::::::;::::::::::::::::::::;;::;;;:::::::;x+;;;;;;;;+xxXXXXX$XX$$XX$$$$$$$$XX$$$XXXxxxxxxxxxx+xxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$&&$$$$$$$$$$X$&&&&&&$$$$$XX$$$$&&&&&&&&&&&&&&&&&&&&$$$XXxxxx+xxxxxxx++++;++;;;+;;;:;:::::::;;;;;;;;;;;::;x+++++++++:::;: ++++;:::;++;::::::::...:::::::::::::::::.::::;;::;;;+;::::::::;;;;;+;;;++x+++XXXX$$$XX$XX$$$$$$$$$XX$$XXXxxxxxx+xxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxxxxxxXXXxXXXXXX$$$$$$$$$$$$$$$$$$$XXXXXXX$&&$$&$$$$$XX$$$&&&&&&&&&&&&&&&&&&&&&$$$$Xx+xxXXXXXXXxxxx+++++xx+;::::::::;;::::::::;::;+;+xx+++;++;;;:::: :;;;:;;;:::::::::::::::.::::::::::::::::::::;;::;;::;++++;:::::;+++;;;++++;++xxXXXX$$$$$$$$$$$$$$$$XX$XXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXxXXXXXX$$$$$$$$$$$$$$$XXX$XXX$$&$$$$$$$XX$&&&&&&&&&&&&&&&&&&&&&$$XXXXXx+xxXXXXXXXxx++xxxxxxxxx+;;;:;;::;::;+++;::::;++x+.......:::;;++ :;+:::;;::::::::::::::::::::::::;:::;::::;::::::;::::;;;;::::::;;;;;;+;++++++;;+xxXXXX$$$$$$$$$&$$$XXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXX$$$$$$$$$$$$$$XXXXXX$$&&$$$$XX$&&&&&&&&&&&&&&&&&&&&$$XXXXXXX+;+xXXXXXXXXXXxxxxxxxxxxx+;.::::::::::;;;;;;:;+x+:::::::;;++++++ ::;;;;+;:::::::..::::::::::::::::::::::::::;:::::;::;;:;;;;++;;;;++;;+++++;;++++xxxxXX$$$$$$$$$$$$$XXXXxxxxxxx+xxxxxxxxxxxxxxxxxxxxxxxxXXxxxxxxxxxxxxxxxxxxxxXXxxxxxxXXXXX$$$$$$$$$$$$XX$XXXX$$$$$$X$&&&&&&&&&&&&&&&&&&&&$$XXXXXXXXx+;xXXX$$$$XXXxxxxxxxxxxxxx+;::;;:;;;;::::::;;;xx+::::::++++xx+; ::::::::::::::::::::::::::::::::++;::::::::++;:;+;::;:::;++++;;++;;;+;;+;++;;++++++++++xXXXX$$$$$$XXXXXXXxXxxxxxxxxxxxxxxxxxxxxxxXxxxxxXxxxxxxxxxxxxxxxxxxxxxxXXxxxxxXXXXXXX$$$$$$$$$$XXXXXXxX$$$$X$&&&&&&&&&&&&&&&&&&&&$XXXXXXXXXXXx++xXX$$XXXXXxxxxxxxxxxxxx+;;;:::;::;;;;;;::;+XXXxx+xxxxx+;;;;: :::;;:::::::::::::::::::::::::::::::::::::;+;;:;+;:;+::;+;::::;+x++xXxx+;+;:;++x+++++++xXXXXXX$$$XXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXxxxxxXXXXXXXX$$$$$$$$$$XXXxxX$$$$&&&&&&&&&&&&&&&&&&&&&$XXXXXXXXXXXXx+++xxx+xXXXXxxxxxxxxxxxxxx;+;::;;;:;;;;;;;;;xXXXxxx+++;..;;;:: ::::::::::::::::::::::::::::::::;:::::;;;;;;:;;:::::;;;::::::;++++++xxx+;;;;+++++++++xxxXXXXXX$$$XxxxXXxxxxxxxxxxxxxxxxxxXxxxxxxxXxxxxxxXXxxxxxxxxxxxxxxxxxxxxxXXXxxXxxXXXXX$X$$$$$$X$$$$XXXxxXX$&&&&&&&&&&&&&&&&&&&&&$XXXXXXXxXXXXXxxx++xx;;++xxxxxxxxxxxxxxxx+;;;;;;;;;;:::;;;;+xxxxxx+++:..;;::: ;;;::::::::::::;;;:::::::::::::::::::;;;;+;+;;;::;;;+x;:::::::;;;;+++++;;;;;++++x+;+++xxxX$XXXX$$XxxxXXXxxxxxxxxxxxxxxxxxXXXXXxxXXXXXXXXXXxxxxxxxxxxxxxxxxxxXXXXXXXXXXxXXXXX$$XX$$$$$XXX$XXXXXxx$&&&&&&&&&&&&&&&&&&&$$XXXXXXXXXXXXXXxxx++;:::;;++++xxxxxxxxxxxx+;;:::;;;;;;:::::;;xXx:;++++++;::::: ::::::::::::;+:::::::::::::::::::;::::::::::;:;:;+;::+;;;;;;::::;++++++++++++;;+++;+xxx++xxxxxxXXx+xxxXXXxxxxxxxxxxxxxxxxXXXxxXXXXXxXXXXXXXXxxxxxxxxXxxxxXXXXXXXXXXXXXXXXXXXX$$XX$XXXXXXXXXXXXXxX$&&&&&&&&&&&&&&&&&$XXXXXXXXXXXXXXXXXxxx+;:;;++xxxxxxxxxxxxxxxx+;;;:::;;;;;+;;::::;++;++;++++x++;;; ::::::;;::::::::::::::::::;;::::;+;::::;:::::;;;+;;:::::::::;;;++x+;;;+;++++;+;;+++;++++++xxxxxxx+++xxXXXXXxxxxxxxxxxxxXXXXXXxxxxXXXXXXXXXxxxxxxXxxxxxXxxxXXXXXXXXXXXXXXXXXXX$$$XX$XXX$$$XXXXXXXXxX&&&&&&&&&&&&&&$$XXXXXXXXXXXXXXXXXxxxx+;::;+xXXxxxxxxxxxxxxxx+:::;;;:;:::;;;:::::::::;+xx+xX$$XXX :::::::::::..:::::::::::+;;;;:;;::..:::;;;;;;;;:;:::::;:::::;+x++++;;++;+++;:;++xXX++xxx++xXXXxxXxxxxxXXXXXXxxxxxxXXxxxxXXXXXXxxXXXXXXXXXXXXXXxXXxxxxxxxXxXXXXXXX$$XXXXXXXXXXX$$$$$$XXX$XXXXXXXXXxxX$&&&&&&&&&&$Xx+xXxXXXXXXXXXXXXXX+;;;;;::;+xxxxxxxxxxxxx++x+;:.:::;;::::::;;;;::;::;;+x++X$$$$$X :::;::::::::::::::::::;::::::::::::;+x;;:;;;;;;:;;;::;+;;;;;;x+;;;++xx+++;;;;;;;xXXxxXx++++xx++xxXxxxxXXXXXXXXxxXXXXXXXXxXXXXXxXXXXXXXXXXXxxXXXXXxxxXxxxXxXXXXXXXXXX$XXXXXXX$$$$$$$$$XX$XX$XX$XXXXxxxX$&&&&&&&$XxxxxxXXXXXXXXXXXXXXx+;;;:::;xxxxxxxxxxxxxXXxx++;;;::::;;++++;;::::::::;++xXXX$$$$Xx ::;;::::::;+:.:::::::::::::::::::;;;;;:::;+++:::::;;;::::::+xx+;;;;+x;;++;;+++++X$Xx;:;;;++xx++xxxxx+xxXXXXXXxXxXXxXXXXXxXXXXXxxxxXXXXXXXXXxXXXXXXXXXXXXXXXXXXXX$$$X$$XXXXXXX$$$$$$$$$$$$XXXXXX$XXxxxxxxxX$$$Xx++xxXXXXXXXXXXXXXXXXxx++;::;xxxx+xxxxxxxxxxXXx+;:::::::;:;;;;:::::::::::::;;+x;:;;;+ ;:::::::::::::::::::::::::::::;;;;+;:+;+;:::::::::::;++xx++XXx+;;+xx++;+;;+++++++++;;;;;:+XXx+++++xx+xxXXXXXXxxxxXxXXXXXxxXXXXXXXXXXXXXXXXXXxXXXXXXXxxxxXXXXXXXXXXXXX$XXXXXX$$$$$$$$$$$X$$XXXXXXXXXXxxxx++xxXXXxxxXXXXXXXXXXXXXXXxx+;;;+++xxxxxxxxxxxxxxxxxxx+;;;;::::;;:;;:::::::::::::;::::::::;; x;::;;:::::::::::;;;;:::::::::::::::;;++x+:::;;;;;;;+++++xXXX+;;+xxxx+;;+++++;;++;;++;;;+xXx+++;;;+xxx+XX$$XXXxxxXXXXXXXXXXXXXXxXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$XXXX$XX$$$$$$$XX$XXXXXXXXXXxxxxxx++++xxXXXXXXXXXXXXxxxxx++;:;;xxxxxxx+++xxxxxxxxxxx+;;:;;++;::::::;:::::::;;:::::::;:::;++ :::::::::;::::;::;;;::::::::::::;+;:;+++;;;:;;++;;;::::::;+;;;;;++++;;++++;;+x+xx++;;;;;+x++;;:;;++xxXxxXXXXXXxxXXXXXXXXXXXXXXXxxXXxXXX$XXXXXXXXXXXXXXXXXXXXXXXXXX$$XXX$$$$XX$$XXX$$$$$XX$XXXXXXXXXXXXXXXxxxxxxxxxxxXXXXxxxxxxxx+;:::;xxXXXXXXXXxxxxxxxxxxxx+;;;;;:::::......:::::::::::::::::::;;: ::::::+;::;:;;::;;;:::::::::::::;;::;+::;;;:;xXx+++++;;;::::;;+x++;;;+++xxxxxxXx+;;;++++++++;;;+++;+xXXxxXX$$$XxxXXXXXXXXXXXXXXxxXXXXXXXXX$XXX$XXXXXXXXXXXXxXXXXXXX$XXX$$$$$X$$$XX$$$$$$$$$$XXXXXXxXXXXXXxxXxxxxxxxxx+xxxxxxxxxx++++++XX$$$$$$$XXxxxxxxxxx+++;;;;::::::.::::::::::::::::::::::::::: ;:::::::::::::::::::::::::::::;::;+++;:;++;;;;+XXx+;;++;::::;;xx++++++xx+xxxx+++++++x++;;++;;;;+++;;+XXXxXXX$$$XxxxXXXXXXXXXXXXXXxXXXX$XX$$$X$$XXX$XXXXXXXXXXxxxXX$$XXXXXX$$X$$$$XX$$$$$$$$$$$XXXXXXxxXXXXXxxxxxxxxxxxx++++xx++++xxxxxxxxXXXXX$$XXxxxxxxxx+;::;;:::::::::::::::::::::::::::;+:::::: ::::::::::++:::;;:::::::::::;;+;++;;x;:;+++;:::;::;++;:::::::;xx+;;++xXXx+;;+;;+xXXX+;;+++;;;;;+++;+++xxXXXXX$X$XxxXXXXXXXXXXXXXXXXXXXXX$$$$$XXXXXX$XXXXXXXXXXXXXxXX$XXXXX$XXXX$$XX$$$$$$$$$XXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxXXxxxxxxxXXXXxxxxxxx++;;;;:;;::::::::::::::;;::;::;;::;;:::::: :;;;::::;+;:::::::::::::::;;;;+;;;;:;;::::::::::;++;:::;;++++xXx;+;;+Xxx++++;+xxXXxx++;++;:;;;;;+;;++;+xxXXXX$$$$XxxXXXXXXXXXXXXXXXXXX$$$$$$$$$$$XXX$$XXXXXXXXxxXXXXXXXXXXXXXX$$$XXXX$$$$$$$$$$$XXXXXXXXXXXXXXXxxxxxxXXxxxxxxxxxxxxxxxxxxxxxxxxXXXxxxxxxxxx;:;;::::::::::::::::::::::::;::::::::::: ::::::::;;::::::::::::;;;:;:::::::::;++;+;::;;:;++::;;::;;:;++x+;+++++;;;+;;+xx+xx++;;;;+;;++;;;;;;+;;+xxXXXXXXX$$xxXXXXXXXXXXXX$XX$XX$$$$$$$$$$$$$XXXXXXXXXXXXXXXXXxXXXXXXXXXX$$$$XXX$$$$$$$$$$$XXXXXXXXXXXXXxxXxxXXXXXxxxxxxxxxxxxxxxxxxxxxxXXXxxxxxxx+;+;;;;;::::..:::::::::::::::;::::::::::::: ::.::::::::::::::::::::::::::::::::;;++::;++:::;;;:;;;:;;;;++;++;++;;;;;;;;;;+++++;;+++;;;+;;;;;;;++++xxxxX$XXXXXXXxxXXX$XXXXXXXXXXXX$XXX$$$$$$$$$XXXXXXXXXXXXXXXXxXXXXXX$XX$XXX$$$$XXXXXXXX$XXXXXXXXXXXXXXxxxxxxxxxXXXXXXxxxxxxxXXxxxx++xxxxxXxxxxxxxxx+;:::;;;::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::+++xx::::;::;:::;;+xxx+++xx++++;;++x+;++++;;+x+;;;;;;;;;++++xxxxxxXX$XXXXXX$XxxXX$$X$XXXXXXXXXXXXXX$$$$$$$$XX$XXXXXXXXXXXXXXXxxX$$$$$$XXX$$$$$$XXXXXXXXXXXXXXXXXXXXXxXxxxxxxxxXXXXxxxxxxXxxxxxxxx++xxxXxxxxxxxxxx+++;::::::::::::::::;::::::;;:::::::::::::: ::::::::::::::::;:::::::::;;;::::::::;+x++;:::::::;+:;++++xx+++++;;+;;;++++;;+xx+++xxx+;;;;++++++++++xxxxXXXXXxXXX$XXxXX$$XXXXXXXXXXXXXXXXX$X$$$$$$$$XX$XXXX$XXXXXXXXxxX$$$$$$XXXX$$$$$XXxXXXXXXXXXXXXXXXXXXXXXxxxxxxXXXXXXXxxxXXXxxxxxxx+xxxxxxxxxxxxxxx++++:::;:::.:::::::::;;:::::::::::::::.::: ;;::::::::.:;;;;;::::::::::;;:.::;;;::::::;;;:::::::;++++;++++;;+++++;+++x+;+xx++;;++;;++x+++++;+++++++++xXXXXxxX$$$XXXXX$$X$$$X$$XX$XXXXXXXXX$$$$$$$XX$$$$XXXXXXXXXXXxxX$$$$$$XXXX$$$XXXXXXXXXxxxxxxxXxxxxxxxxxXXxxxxXXXXXXXXXxxxxxxxxxxXxxxxxxxxxxxxxx+;;;:;;;:::::::::::::::::;;:::;:::::::::::. ::::::::::::::;+;+;::::::;;:;;::;::;+;+++x+:::;;;:;+x+;;;+++++++;;;;;;++;++;+;;;+;;;;;+++++x+;;++;+++++++XXXXX$XxX$$$XxxXX$$$$$XX$$XX$XXXXXXXXXX$$$$$XX$$$$$$XXXXX$XXXXXxxX$$$$$$$XXXXXXXXXxXXXXXxxXxxxxxxxxxxxxx+xxxXXXXXXXXXXXXXXXxxxxxxxx++xxxxxxxxxx+;;;;::::::::::::::::::::::::::::::::.::::: ::;;:::::::::::;;;::::::::;++;::::::;+++;+;;::;:::;::::;::++++++++;;:++++;;;;;+++;;;++++++++;+x;+++++++;++xXXXXXXXX$$$$XxXX$$$$$$XXXXXXXXXXXXXXXXX$$$$$$$$XXX$$$$XXXXXXXXxx$$$$$$$XXXX$XXXXXxXXxxXXXxxxxxxxxxxxxxxxxxxxXXXXXXXXXXxxxxxx+++++x+xxxxxxxxx+;;:;:::::::::::;::::::::::::::::;+;:::::::: ++++;::::::::::;:::::;;+;:::::::;;+++x;:;+;;;;+;;;::::;;:;;++++++;;+;;+++++++++++;;++++;+x+++;++++xx++;;++xxXXXXXxXX$$$$XxXX$$$$$$$$$$$XX$$$$&&$$$$$$$$$$$$$$$$$$$XXXXXXXxxX$XXXX$XXXXXXXXXXXXXxXXXXXx+;+XXxx;;+xxxxxxxxxxxx++++x+++++++x+++xxxxxxxxxx++;::::::::::::::::;;;;;;::::::::::::::::.::: :::::::;;::::::::::::::::::::::;:;;:::::::;;:;;:::;;::;::;;;++xx;:;;;;;;++xx+xxx+;;;++;+++++;+++x+++++;+x+xXXXXXXXxX$$$$$$XXX$$$$$$$$$$$$$$$$&$$$&&&$$$$$$$$XX$XXXXXXXXXXXxxxxXXX$$$XXXXXXXXXXXxxxxXxx++XXXx;:;xXxxxxxxxxxxx+++++xx+++x+xxx+xx+xxxxxx+;;;;;;:::;:::::;::::::::::::::::::::::::::::: +;;;;:::::::::::::::::::::::::::::::::::::::::::::;;::::;;;;;+x+;;+;;;+++;;++x+++x+xxX+;;;;;;++++++xx+++xxxxXXXXXXxxXXX$$$$XXX$$$$$$$$$$$$$$$$&&$$&$$$$$$$$$$$$$X$$XXxXXXxXXxxxXX$$$XXXXXXXXXXXXXxxxxxxxx++++xxxxx++++++++++++++++++xxxxxxxxxxxxxxxxx+;::::::::;;:.:;;::::::::::::::::::::::::::::: :::::::::::::::::::::::;;:;;;:::::::;::::::::::;;;:;;:;;;;+;;+++;;;;;+x++;;;+;;+xxxxx+;;;+++xxxxx+xxx+;;++++xXXXXXXxxX$$$$$$XXXX$$$$$$$$$$$$$$$$$$$$X$$$$$$$$$$$$$$XXXXXXXxxXxxxX$$$$$XXXXXXXXXXXXxxxxx+++x++++++++xxx+++++++x+++xxxxxxxxxx+xxxxxxxx+++:::::::::::....::::::::::::::::::::::::::::: :;:::::::::::::::::::::::::::::::::;;:::::;;++;;+++;;;;;;;+;+xx++;;;+x+;+++xxxxxxxx+;;;+xxx+xXXXXxxx+++;+;;+xXXXXXXxxXXXX$$$$XXXX$$$$$$$$$$$$$$$$$$$X&&&&$$$$$$$XXXXXXXXXXXXXxxxxxXXX$$XXXXXXXXXXxxxxxxxxxx+++++xxxxxxxxxxx++++x+xxxxxxxxxx+;+xxx+++;;;:::++;::::::::::::::::::::::::::..:::::::::: :::::;;;::::::::::::::::::::::::::;::::::;;+;;;+;:;;+;;;:::;xXXXxxxxxXxxx+++xxxxxxx;+;;+xx+xxxx+;+++;;;;;;++xXXXXxxxxxXXX$$$$$$XXXX$$$$$XXX$X$$$$$$$$$$&&$$$$$$$$XXXXXXXXXXXXxxxxxxX$$$XXXXXXXXxxxxxxxxxxxxx+++xx+xxxxxxxxxxx++xxxxxxxx+;+xx+;;+;::::::::;;;::;;::::::::::::::::::::::::::::::::::: :::::::::::::::;+;:::;::::::::;+++;::::;++;;;:;+;;:::::::;xXXXXxxx++xxxxx++x++;;+x+;;;;;+++xxxx++++++;;;;++++xXXXxxxxxXXX$$$$$$$XXX$$$$$XX$$$$$$$$$$$$$$&$$$$$$$$$$XXXXXXXXXxxXXxx++xX$$$XXXXxxXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXx;;+xxx::++;::::::::::::::;:.:::;:::::::::::::::::::::::::::: ::::::::::::::;+::::;x:::;xx;::::::::::::;;;;;:;;:::;:;;::;++;+++;;+xxXXXx+++++;+xxxxx+;;+X$XXxx++xxx+++++;;;+xXXXXxxxxxX$$$$$$XxxxXX$$XXXXX$$$$$$$$$$$$&&$$X$$$$$$XXXXXXXXXxxxxxxxx+xX$$$$XXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxXXXXxXXXXXXXXXxx+;++;;;;;;:..::::::::::::::::::::::::::::::::::::::::: ::::::::::::::.::::::+;;;;::::::::::::::::::;:::::;;:x+;;++xx;;;++++XXx+++++xXx+X$$Xx+++;+XXXxxxx++++;+x;;;;++++xx+;;:;++xXX$$$$XxxXXXXXX$$$$$$$$$$$$$$X$&&$$$$$$$$XXXXXXXXXXXXxxxxxxx+X$$$$XXXXXXXXXXXX$$XXXXXXXXXxxxXXXXXXXXXXxxx+xXx;;;;;::;;++++++++;...::::::::::::::::::::::::::::::::::::::: :;+++;:::::::::::::++:::::::::::::::::::::::::::::+;:;;::::;::;;+;;+xxx++x+xXXXXXXXx+++;;;+x+++++;+;;;;;+++;;+;;++;+x++;:;;x$$$$$XXXXX$X$$$$$$$$$$$$$$$$$&$$$$$XXXXX$$$XXXXXXXxxxxxxxxxxXXXXXX$$$XXXXxxX$$$XXXXXxxxxXXXXXXXXXXXxx+;;;;;:::.:++xXXXxxx++++;..:::::::::::::::::::::::::::::::::;;:::; ++;:;+;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;+++;++++++xxxxxx++;;;;+++xx+++++++;;;;;;;;+;;;;+xxxxxxxx+;+X$$$XxxXX$$$$$$$$$$$$$$$$$$$$$$XXXxxXX$$$$$$XXXXXXxxxxxxxxxxXXXXX$$X$$$XX$$$$XXXxxxxxXX$$$$&&&$$$X+++;::::::.:;+xXXxxxxxx++++::;;::::::;:::::::;;;:::::::::;;:::::::.. ;:;;;;::::::;;::++::::::;::::::::::::::;+;+;+;:::::::::;;+;;;;++xX+;++++;;++x+;;++++;;;+++++xxx+++++++++;;;;;++++xxxXXXXXXXx++X$XXXXXX$$$$$$$$$$$$$$$$$$X$$$XXXX$XXXXXXXXXXXXXXXXXxxxxxxxxxxXXX$$$$$$$$&&$$$$$$$$$&&&&&$XXXXXXx+++::::;:....:;;+xx+;++x+++;::+::::::::::::::::::::::;;;:::;+;;::::. ::;;;;::+;;::::::;::::;::::::::::::::::::::::::::::::::::;::;++;;::;+;::;;++x+;+x++++++++++++++++++++++;;++++++xxXXXXXX$$$XXX+x$$XXXXX$$$$$$$$$$$$$$$$$$$$&$XXX$$XXXXXXXXXXXXXXXxxxxxxxxxxxxx+++xX$$$$XXX$$$$&&$$$$$XXXx++++++;:::::::::....::;;:;;+++++++;;.:::::::;:::::::::::::::::::::::::::::: ::::::::::::::::::;:;;::::;;:;;:::::::::::::::;::::;::::::::::::::;;;:::;+x++++++;;+;+++++++;;;++;;;;;+++++++++xxXXXXX$$$&&&$XX$XXXXXX$$$$$$$$$$$$$$$$$$$$$$XXX$$XXXXXXX$$$$$XXXXXxxxxxxxxxxxx++++++++x++++xxxxxx+x++++;;;:::::::;;;;;:....;;;;..:;+++xxx++;.:;++:::;;+;:::::::::::;;:::::::::::::: ::::;;;+;::::::;:;;::::::::;+;;;;;;;;;::::::;;;::::;+;::::;::::::;+::;;;;+x+xx+++;;;;+++++;;;;;;;++x++++++xx++++xxXXXX$$$$$$$$&&$X$XXXX$$$$$$$$$$$$$$$$$$$$$XXX$$$XX$$$$$XXXXXXXXXXXxxxxxxxxx+++xxxx+++++++;++;;++++++++xx++++xxxxx++++;;++x+;....;;+xxx++++:+xX+;::::::::::::::::;;:::::::::::::::