&&&&&&&&&&&&&&&&&$.+&x&&&&&&&&$&&&&&&$&&&&&&$$&&&&$x$$X&&&&$$&&$$$$&&&xX&&&&&&$$$:...;$$&&&&$&+.$$X$&$x++++;+++++x+xx++++++++++++;;;;;++;;;;;;+++;;+x+xx$&Xx&&;;$+X&&&x::;::&x:X&&&$$&&&$&&&&&&$$XX&&&&&&&&$x$&$x&$X$&&&xXxX&&XXxx+XX+xxx+;;::+&&&&
$&&&&&&&&&&&&&&&&&&$&&&&&&&$&&$xX$&&&xx&&&&&&$x+;+X$$&XX&X&&&&&&&&&$$&$&&&&&&&&&+....X&xXx&&&&;:$&X$$$$&&&&&&&&&&&&&&&&&&&&&xx&&&&&&&&&&&&&&&&&&&&&&&&$x$$xx&&:;$X&&&$x;;;:.;+:x$xxx$x&X&&$$&&&&&&&&&&&&&&$$&&&$$$$$$$&&$$xx&&$xxXx$&&xXx+x$XXx$&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x+$&&&&&&&&&&&&$x+;;xX&&&&&&&&&&&&&&&$$&&&&&&$:..:;$&x;xX&&$+x$&$$X$$&&&&&&&&&&&&&&&&&&&&&xx&&&&&&&&&&&&&&&&&&&&&&&&$x$Xxx&&;:$x$&xx&x;;:::XxxxxxXXxXX$xx;xx&&&&x;$$xx&&&$;xXx.;x$Xx+x$x$$x$$Xxx$&&$xxXX&&XxX&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&x$&&&&&&&&&&&&&&&&&&&&&&&&&&xxX&&&&&&&&&&&&&&$x$&&&&x:...x$&x&XX&&$xx$&$&&&Xxxxx+;x+x+++++++++x++;;;;;;;;;;;;;;;;;;;;:::;+xxx$&$x&&x;$xXxxx&x;;:::xXxxxXxX$x$&&&&xx&&&xxx$$xXx;+$$:;:xX&&$&xX$X$$x+Xx+x;:;;x&$&&&&&&&&$$
&&&&&&&&&&&&&&&&&&&&&$$X$&&&$X&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&$$&&&&&&&;...:xx&xXx+&&XXXX&$$X&&&&&&&&&&&&&&&&&&&&&&&xx&&&&&&&&&&&&&&&&&&&&&&&&&x$&$x&&$;XxXxxX$$+;;::;$&X+x$$xx&&&&&&$&&&X$$x$xx;.;$$x$&$X&$+X$$$xX$x+$Xx$Xx+:x$$X$X$&&$&&&
&&&&&&&&&&&&&&&xX$$&&&$$$$&&&X$&&&&&&&$&&&&&&&&&&&&&&&&&&&&$$&$;+$&&&&&&&&&&&$x::::x&x&xx:;&$Xx;;&$$$$&&&$&&&&&&&&&&&&&&&&&&x+&&&&&&&&&&&&&&&&&&&$&&&&&x$$Xx&&x;xxXx$X$$x;::::+Xxxxxxx$$&&$x$X$$$xxX&&Xx;+XXx&&&$&$$$$$$&&&&&$&$$&&&&&&&&$xX&&&&&x;
&&&&X&&&&&&&&&&$&&&$$&$&&&&&&&&&&&&&&&&&&&XX&&&&&&&&&&&&&&&&$$&&&&&&&&&&$;X$&&+...:X&x&xx+$&$Xxx;&$xX$$XXxxXXxxxxxxxxxxx+x;x+;++;++x++xx+++;;;++++;+xxxxX$$x&&x:xx$xxx$$&+;;:::$$xxx;;x+++xxxx&x$xX&xxxxX$&&&&$&&&&&&&&&&&&&&&&&&&&&&&&X$&&&&&&&&;.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&Xx&&&&&&&&&&&&&&&XxX&&&&&&&&$&&&&x::.:+&&x&xx;x$$Xx;x&$x$X$&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&&&&&&&&&&&&$&&$XXXxX&$x;xx$$Xx$$&x;;;::x$+::;xx+xxxxxx$&$&+x&$xxxX$&&Xx$&&&&&&&&&&&&$$&&&&&&&&&&&&&&&&&&++X
&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&xxx&&&&&&&&&&&&$&+...:x&&x&Xxx;x$xx+;X$xxxx$$$$$$$$$$$$$$$$$$$$$Xxx$$$$$$$$$$$$$$$$$$$$$$$xxxxxX$xx;xx$Xxx$$&&;;;;:;xxx;+x;xXXxxxX$$XX$&$x;x$$&&$X+&&&&&&&&&&&&&&&&&&&&&&&&&&$$$XX&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&X&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$....;$&&x&Xxx;X$xx:X$$+;+;;;;;;;:::::::::::::;;;;;:::;:;;;::::::;;;;;;;;;;;++xX&&X:xXXxxx$$&&x;;;;;xx+$$xxXxxXxx$;:X&&&$&&$$&&$X&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$xx$&&&&$
&&&&&&&&&&&&&&&&&&&&&&x$$&&&&&&$x$$&$$&&&&&&&&&&&$XX&&&&&&&$&&&&&&&&&&&&&&&&x...:x&&&x$XX&xX$xxx:$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&$;xX$+;x$$&&x+;;;;+$$$X+X&$xxX$$&&&&&&&&&&&&&&&&&&&&&&&&&&&X&&&$&&&&&&&&&&&&&&&&&&&&$
&&&&&&&&&&&&&&&&&&&&$X&&&&&$&&&&&&$&&+xxx$$XX$&&&&$&&&&&&&X$$$x$&&&&&&&&&&&&....:x&&&x$Xxxx$$xXX$X$&&&&&&&&&&&&&&&&&&&&&&&&&+x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&$;xX$x+xX$&&&x;;;:;x$&&&$xxx&&&$&&&&&$$&$xXx&&&&&&$&&&&xxx$$X&&&&&&&&&&&&$$&&&&&&&xx:
&&&&&&&&&&&&&&&&$&&xx+x$$$&&&&&$&&Xx&$$x+x&&&$&&X&&&&&$$xx$$$&&$&&&x+x$&&&&x....+$&&&$x$x$$&&xX&$&&&&&&&&&&&$$xXXX$$$$$$$$$$;;X&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&+xX$x+xX$&&Xx+;;::+$&$&$$$$&&&&&&&&&&;:x$xx$&&&$&&&&&&&&&$Xx&&&&&&&&&&&&&&&&&&&$$&XX
&&&&&&&&&&$$$&&&&xxx$&&&&&&&&&&&&$+;$Xxxxx;x&&X$$$$x&$X&&&&&&&&&&&&XxxX&&&X:...:xXX&&$x$x$$&&xXx+xxxxx++++++;++++++;;+++;++++;;;;+;;+++;++++++++++++;;;;++xxxxxxx$$xxxX$&&;x+;;;::x&&&&&&&&&&&&&&&+.x&$X$$$Xxx&$x+xxx&&$&&$$X&&X$&&&&&&&&&&&&$&&&&&
&&x:x$&&&&$&&&&&&$&&&&&&&&&&&&&&&XX&$$&&$&$$&&$&&&$:;$&&&&&&&&&&&&&&xx$&&Xx....;$&$&&$x$xx+$&Xx+$&&&&&&&$$&&&&&&&&&&&&&&&&&$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&xxX$X+x$$&&;xx;;::.;&&&&&&&&&&&&&&&$$&&&$x$x::;$&&&&&$XxxXX;xx;;x$xX&&&&&&&&$XX+;$&x
&&&&&$XX$&&&&&X$&&&&&&&x&$&&&&&&&&$X&&&&&&$&&xX$&&&XxxX&&&&&&$&&&&&&&$$&$x.....+$&x$&$x$Xxx&&Xx$&&&&&&&&&&&&&&&&&&&&&&&&&&&&;x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&xXxX$$xXX$&&+;$;:.::.x$&&$Xx$&&&$&&&&&$X&&&&x:x$$&+$;:;X$$&&+&x;;x$$&&&&&&&$$Xx;.:XX$
&&&&&&&&&&&&&&$;:+&&&&&&&$&&&&&&&&$$$&&&&&&&&&&&$$Xxxxxx&&&&&&&&&&&&&&&&&x....:x$xx$$$x&Xxx$$$x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&+x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XxXXXXXX$&&$xX;::::::x+xx+&&xx&&$x$&$&&&&&&xxxx&&&&$$&&$$&&x&&$$&&&$Xx;x$X$$&$;;x+$&
&&&&&&&&&&&$$&&&xx$&&&&&&&&&&&&&&&&&&&&&&&xx&&&&&$Xxxxxxx&&&&&&&&&&&&&&&&...::;X$x+x$$x&$XxX$$Xx+++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:;;;;;;;;;:;;;:::;;;++xxxXxXX$XXx$&&:++x;:;:..;x&xxX$xxX$XXxx;;x+::;x$&XxX$$&&&&xx$xx$$xX$$X;;xx;X$$&$$$$$XX$
&&&&&&&&&&&&&&&&$$&&&$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&xxxxxx&&&&&&&&&&&&&&&x...::x$X+;;$$x$$$&&$$XX$$&$$$$$$$$$$$$$&&&&&&&&$$$$X$$$$$$$$$$$$$$$$$$$$$Xxx+xxxX$$$&$xxXX&&$x$&&::;x;::::.:&&&$$$XXXxX$$&x:::..:x$&&&&&&x:;::;Xx+++;x$X$$&$$&&$xxx$$$X$$$
&&&&&&&&&&&x&&$&&$x$$&xx&&&&&&&&&&&&&&&$$&&&&&&&&&&&xxxxx+x$&&&&&&&&&&&&:....;$$x;:x$&x$$x$$&$XX&&&&X$&&&&&&&&&&&&&&&&&&&&&&:x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x$xXx$$$x&&&+:;++:..:..;&&&x$$$X;;x;$&&+xX$x+xxxX+x:;$&X;:;:+xxXx&&$XxxxxX+xXX$&&&&X&
&&&&&&&&&&$&&&&$$&&&&xxx&&&&$&&&&&&&&&&&&&&&&&&&$X&&$XXxxxxx&&&X$&&&&&&x....:x$$x;;x$&X$$X$$$XXXx&&&&&&&&&&&&&&&&&&&&&&&&&&&:+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$xX$&&$x&&&x::;x;..::..Xxxx+;xxx$$&&&$$$X;;;.:+:.:xxx;:.;X;x$&XX+&&&x+Xx;x$&&$xx&&&&
$&&&&&&&&&&XX&&&&&&&&&;;&&$x;xx&&&&&&&&&&&&&&&&$$$X&&&&&$$&&$&&&&&&&&&&:....:$$x+;xx$&$X$$&$$XXx;;+xxxxxxxxxxxxxxxxxxxxxxxxx::xXxxxXXXXXXXXXXXXXX$&$$$xxxX$$$$x$xX$&&$x&&&x;:;xx:.:::.:x&&$X$Xx+$&+;x$$$&&Xxx++::::;xxxxxXX&&+:;$$x$xX$+x$xxX&&&&$$
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$xx&&&&&&&&&&&&$$&&$$$$&&&X+++xxxx&&$xX&&x:...:;&&x;;x&$&$x$$&&xxXx;;++;;;;;;;;;;;:;;+;;;;::::;::::::::::::::::::::::::::::::::::;Xxx$&&$x&&&$+:;X$;;;::.:xxxx$&&$$$$x+x$$&&&&&&&x+x&&$X$&$:;&&&&$xXX$&&&&&Xx&&$xxxx$&
&&&&&&&&&&&&&&&&&&&&&&&$&$$&&&&&&&&&&&&&&&XXXxxXXXXXXXXXxxxxxxxx+X&&&&;::::;$&$x;+X&$$$x$$$$$$$$&&&&&$&&&&&&&&&&&&&&$$$$$$$$xxX$$$$$$XXXXX$X$$$XXXXXxxX$$Xxxxxx$x&&&&Xx&&&&x;;X&xxxx+;;:::.::;+xxX&$$&&&&&&&&&&&&&&&Xxxx::&&&&&$&$xxxxX&x&&xxX$&&&x
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&XXXXxX$$$$$$$$&&$xxxx++;;xxxx+xxX$$&&$x;x&&&$$xx$&&XXX&&&&&&&&&&&&&&&&&&&&&&&&&&&&&xx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XxX&&&&x&&&&x+;X&$Xxx++++++xxxxx;;:::;xx$&&&&&&&&&&&&$X$+:;&&xxxxxx+xxX$&&&Xxxx&&&$;
&&&&&&&&&&&&&$&&&&&&&&x&&&&&&&&&&&&&&&&&&$$$$$$$$$$$XXX$Xxx;;:xX$&&$$$$$$XX$&&$+;X&&&$$xx$&&$x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;+&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Xx$&$&&X&&&$x+;$&x&&&&xXXx++++xxx$;.:::;:;X$&$&&&&&&$x$&$$&&Xx;;x&Xx$&$&&X$xxxxxX&&$
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$XXX$$;::::;;&$$$$$$$&&&&&&&&$xx$&&&$&X$$&&&&&x;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;xxxxxx+;;++++;;+;;;;;++++++++xx+x&$&&&&&$&&&&x+xX&X&&&&&&&&&&&$Xxxx+.....:.x&&&&&&&&&&$&$X$xxX$+;;;x$&&$x$$x+xXXxxXxx
&&&&&&&&&&&&$&&&&&&&&&$$$$$$$&&&&&&&&&&&&&&&&&$$$$XX$&+:.:..:$&&Xxxx&&&&&&&&$&$xX&&$&$&XxXx+++;+;;;;;;:::::::::::::.............................................;;;x$$$&&&$$xx$$X&&&$&&&&&&&&&&$x;;.......+X&&&&&&&&&&&&&$x&$$Xxxxxx;;x&$Xx+XXx+;X+
&$X$&&&&&&&$&&&&$;x$&&&X$&$&$&&&$XxxxxX$&&&&&&$$$$$&&X:...::;&&&$$xx$&&$&&&&$&$X$Xx$+$&$X$x;;;;;;;;;;:::::::::::;;:::::.::::::::;::::::::::::...::::::::::::::::::::x&&&&&$x$x$$X$&&Xx&&&&&&&&&xX+x:......:$&&x$$x&&&&&&&$$&$xxX$$x++x&&&&&&$x;;$&x
$&&&XXX$$$$&&&&&&&&&&&&&$$&$$$$XXxxxX$$&&&&&&&&$$&&&$:::.:::$&&$&&XX$xX$&&&&$&$X&&$xx$$Xx;;::::::::::::::::::::::::::::::;:::::;;;;+::::::::::::::::::::;;;;;;;;;;;;;x$&&&&$$x$$X&&&&&&&&$&&&&XxX&;x:...::.+$$xx;x$&&&&$xxX&&Xx+;xxxx$xx;;:;;;;x$$&
&&&&&&&&$&Xx$$&&&$X&&&&&&&&&&&&$X;;;$&&$XX$XxxXxxX$$;:::.::x$&&$&&$&&&&$&&&&$&$X$&$&$X+$x;;;+x+xxxx;;;;:::::;;:::;;++x$XXxXxxxxxxxxxx;;;;;;;::::::::::;;;+xxxxxxxx+xxx$$$$$$+x$$X&&&&&&&&&&&&$xxX&X++:.....:x&$;xxx$X&&&$&&$xXx+x$$x+X+$&x;$&&&&$$$
xX$&&$&&$xxx&$&&&&$&&&&&&&&&&&&&&$x&&$XXXX$$xxxxxxxX::::::;&&&&X&&&&&&&&&&&&$&$XxX&&&$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&$Xxxx$$X&&&&&&&&&&&Xx+xX&&xx;......:&&Xx+X&&X$$&$$$XX$$XxxX$x;;;;+X&&$xx++
:::$&&&&&&&&&&&&&$Xxxx$&&&&&&&&&&&&&&&&&&&&&&&$Xx$&:::..::X$&&&X$&&&$$&$&&&&$&&$$$xxX$x$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&$x$x$$X&&&&&&&$XxXXXxx$&&&++:....::;&$XxX&&x;+xxx;+&&$+::::;;;;;:;+X$XXx+
;;X&&&$&&&&&&&&$$&&&x;;;;;x+xx$&&&&&&&&&&&&&&&&&&&x::::::;$&&&&X$&&&$xx;$&&&$$$$$&&$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&$XXx$$X&&&x$&&xx$&$$xx$&&&x;;:...:.:x$&&&$$X$&$&$x$&&$Xx&&&&&$x$$x;;;;x$X
&&&&$&&&&&&&&&$$$&&&x++;xX&&&Xxxx$$Xx$$&&&&&&&&&&&:::::::$$&&&&X$&&&&xxx:x&&$$$$XXxxx$$XXXxXXxxxXX$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$XXXX$XXXXxxxxxxxx$&&&&&xxx$$X&&&&&&x.$$&&&xx&&&&x;+:....:::xX+xXX$&$XxxXxX$&&$&&&&&&&$&&x;;;;:+
&&&&&&&&&&&&&&&&&&$XXx$&&&&&&&$$&&&Xxxxxx+xX$$xx+:::::::x&$&&&&$$&&&&$;+&$&$$$$$$$x+;X$$$x++xxx$$$&$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$Xxx+;:::::::::;;:::.:;XXxx&&$&$X$&&$x$&&&&&$xxx&&&&:+;;.....:::x;;xxxxxxxxxx$$&&&&&$+;;:;x$&&$Xx++
&&&&&&&&&&&$XxXxxx;++xXx;;+x$Xx+;+xx&&$xx&&&&&&&x:.::::;$&$&&&&$X&&&x$&$&$&$$$&$$$XxxxxxxxxxX$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$Xxxxxxxxxxxxxxxxxxxxxxx$x&$X$&&Xxx&$$xxxxxx&&&&++;+:.....:::::;xxxxxxxxX&&&&&&&x;;;;;;;x$$X;+x
xx$&&&&$xx+xx$$&$$&&$$XX$&&&&&&&&&&$&&&Xxxxxxx$$:::::::x$&$&&&&$X$&&&&&$X+&$$$&$$&$xxXxxxX$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$XXXX$$XxX$$$$$$X$$XxxX&$X$&&$xXx;xX&&$xX&&&&xxxx+:.....:+xxxxXxxxxxX$&&&&&&&&&&x;x$x$&&&&&$
&&&&&$$$$&$X&&&&&&&&&&&&&&&&&&&&&&x++;xxx;xxx+x:::..::;$&&X$&&&$X&&&$&&&$;&$$$&&$&$$&&&$$&&$$&$&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&X&$X&&&Xx&$&&&&&&xX&&&&xx&$x;:..:.:;;X&$$$&&&x;x&&&&&XX&&&&+&&&&&&&&&&
X$&&$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&$x$&&;:;$&xx+:::::::x&&&$$&&&$X&&&&&&&X+$$$$&&$$&$;;&$$XX$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$XX$$$&&&&&&&&&&&&&&&&&&Xx&Xx&$X&&&&x&&&&&&&$x$&&&&+x&&xx;.....::+$$$$&&&&$&&&&&&$Xx$$$$&$Xx+X&&&&
&&&$xx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$x$&&x:::::.:+&&&&$$&&&$X$&&&$xx+x$$$$&&$Xx$$xXxxXX$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&X&&X&&&&xx$&&&&&$x$&&&&+x&&$x+::....:;x&&&&&&&$&&&&&xxX$&&&xXXXx;;xx$&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&&&&+::::..;X&&&&$$&&&$$X$&xxxx+x&$$$&&$$$xxxxx$$$$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$XXX$$$X$$$XXXxxxxxX&$X&&&&$XxX$&&&xx$&&&$xx&&&Xx;......:;$&&&&&&&&&&Xx+x$&&x;;;;xxxxxxxx
&&&&&&&&&&&&&&&&&&&&&&&&$xx$&&&$xx$&&&&&&&&&X:.:::::x&&&&&$$$&&&$$$Xxx;x$&&&&$&&$$xxxXX$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$xXxX$$&&&&&&&&&&&&&&&&&&&&&&&&x;;;;;;;;;;;xx++++;$&$$&&&&&X$$xX$xxx$&&&Xxx&&&&xx:.:...::x&&&&&$$$Xx+xX$$X+;$&$x&&XX$$XX
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;::::.::$&&&&&$$$$&&$$x+xx&&&&&&&&&&$xxX$$$&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&$Xxx+;;+;;+xxX$$$&&&&&&&&&&&&&&&&&&&x+xxxxxxxxxxXXXxxx$&$$&&&&&&X$$$xxxx$&&&xxX&&&&$xx:.....::x&&&&&&xx$$$&&&&&&&&&&$$Xxx$&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&X+;x$&&&&$$$$$$x::.:.::x&&&&&&$$$&$&$$$$&&&&&&&&&&&&$xx$$&&&&&&&&&&&&&$$$&&$$$$$$&&&&&$$$$Xx;;;:::::::;;;xxxxX$$$&&&&&&&&&&&&&&$XXXX$$$$$$$$$X$XX$&$$&&&x+&&&&&$XxX&&&&xx$&&&&&xx;:.....:;x$&&&&&&&$&&&$&&&&X&&&&&&&x&$
&&&&&&&&&&&&&&&&&&&&&&&&$XX$X$&&&&&&&&&$X&x:::.:::;$$&&&&&&$$&$$$$$&&&&&&&&&&&&&$$X$&&&&&&&&&&&$X$$$$$$x+xXX$$$$xxxxxx+::::...:::::::;;;;+xxXX$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&$$&&&x&&$$&&&$xX&&&&xx$&&&&&$xx:.....::x&&$X;x&&&&&&&$&&&&&&&&&&&&$X
&&&&&&&&&&&&&&x;+xxx$&$$&&&&&$$&&&&&&&xxX$+:::::.:x&$&&&&&&$$$$$$$$&&$$$$X$&&&&&$&$$&&&&$&&&$Xxx$$$$Xx;;xXxX$xx+;+xx+;:::.......::::::;;;;;+xxx$$&&&&&&&&&&&&&&&&&&&&&&&&&&$&$&$$&&&&$&&&&&&&x$&&&&xx&&&&&&&$xx:.:...::x$&&&&&&$$&&&&&&&&&&&&&&&&Xx
&&&&&&&&&&&&&&&&&&xx$x$&&&&x$$&&$$$$$X$&&X::.::.:;&&&XX&&&&$$x&$$$$$&&&&&&&&&&&&$$$&&&&&&&&xxxxxxXxx+::+xxXXx;;;;+;;;::...........::::::;;;;;+xxxX$&&&&&&&&&&&&&&&&&&&&&&&&&&$&$$&&&&&&&&&&&&x$&&&$xx&&&&&&XXxx;::....::$&$&&$$$$&&$&&&&&&&&&&&&&X$
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&XxX$&&&&&:::::.::$&$&&x$&&&$$&&&$$$X&&&&+;X$&&&&&&&$&&&&&X++;+xxx;;::;;++xx;::::;:;::.............:::::::;;;;+++xxxX&&&&&&&&&&&&&&&&&&&&&&&&$$&$$&&&&&&&&$&&$x$&&&xxx&&&&&&&&&xx:.:....::&&&&&Xx;:;xx$&&&&&X$&&&&&&
&&&&&&&&&&&&&&&&$&&&&&&&&&$X$X$&&XX&&&&&x::::.::+&&&Xx$&&&&$$&&&$$$&&&&x$&&$$&&&&$xx&&&&x;;;;+xx;;::::;;;:::.:::::::............:::::::::::;;;;;;xxxX&&&&&&x+;;;;;++++++++++x&&$$&&&&&&&$&&&&x$&&&Xxx&&&&&&&&&xxx:.....::;xxXxx;;xx$$$&&$$$&&&&&&&&
&&&&&&&&&&&&&&&&&&&$x+&&$$X$&&&&&$&&&&&$::::::::$&&&&&&&&&&$$$&&&$$$$$&$&&&&&&&&&$xx&&&X;;;;;;;:;::::;:::::..::.::................:::::::::;;;;;+++xx$&&&&&x;;;;;;;;;;;;::::x&&$$&&&&&&&&x:;xx$&&&xxx&&&&&&&&$+xx;.:....::x$$$xX$xxx&&$&$xxXXxxxxx$
&&&&&&&&&&&&&&&Xx&&$x$&&&&&&&&&&&&&&&&&;:::::::x&&&&&&&&&&&$$$&&&&$Xxx$&xx$&&&&&&$+;X$$x;;::;:::::::;:::::..::.::.................:::::::;;;;;;++xxxxx$&&&&x::;;;;;;;;;;:;;;x&&$$&&&&&&&&$x$$x&&&&xxX&&&&&&&&&&$+x::.....::$&$$XX$$Xx$&&&&&&$$&Xx&&
&&&&&&&&&&&&&&&&&&&$$$$&&&$&&&&&&&&&&&x:::::::;$&&&&&&X$&&&$$$&&&&$$$&&&&&&&&&&&&&$$$XX+;;:::::::::;::::::.......................::::::::;;;;;;++xxxxxX$&&&$xxxxxxxxxxxxxxxx$&&$$&&$&&&&&x;+xX&&&&xx$&&&&&&&&&&&xx+:..:...:;&&&&x+;;;&&&&&&&$&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&&$::::::::X&&&&$&$xx$&&$$$&&&&$$$&X&&$X&$&&&&$$$XXxx;;:::::::::::::::........................:::::::::;;;;;++xxxxX$$&&&&&&&&&&&&&&&&&&&&&&$$$&&&&&&&X:;xx$&&&&xx$&&&X$&&&&&&&xx;......::+$x+;;;;x&&xxx$&&&&&&&&
&&&&&&&&&&&$&&&&&$x+;$&&&&&&&&&&&&&&&::::::::;&&&&&&&$xX$&&&$$&&&&&$Xx$&$&&&&&&&$$&&&$x+;;:::::::::::::::........................:::::::::::::;;++xxxXX$$&&&&&&&&&&&&&&&&&&&&&&&$&&&&&$X$x$$x$&&&&xx&&&&$x$&&&&&&&xx:::....;:xx+;;;x&$++xX$$&&&xx&&
&&&&&&&&&$$&&&&&&XX&&&&&&&&&&&&&&X$&x::::::::X&&$&$XxxxX&&&&$$&&&&&$;.:&&&&&&$&&&$$&&$x+;;;;::::::::::::::..................:::::::::::::::;;;:;++xxxxX$$&&&&&&&&&&&&&&&&&&&&$$&&X$&&&&&&&&$x$&&&$xx&&&&&x+xx$&&&&xx+.:....:;:+++;x&&&&&&&$&&&&x&&&
$$&&&xX&$x$&&&&&::x&&&&&&&&&&&&&&&&&::::::::+$&x:;$&$xxx$$&&$&&&&&&$X$&&xx&&&X$&&$$X&$x+;;;;:::::::::::::::::::....::::..:::::::::::;;;;+++xxxxxxxxxxxxX$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x$&&&$xx&&&&&x+X$$&&&&&xx:::....:::xx$&&&&&&$&&&&&&&&&&
$$$&&&&&&&$&&&&&$Xx&&&&&&&&&&&&&&&&;::::::::$&$X&&&&&xxxx$&&$&&&&&&$XX&&&&&&$&&&$$$xX$x+;;;;;;;;;;:;:::::::::::::::::::::::::::;+xxX$$$$$XxxxXXX$$xxxxxxX$&$xxxxx+++xxx+xxxx&&$&&&&$&&&&&&&&x$&&&$xX&&&&&X+x&&&&&&&$xx:......::x&&&&&&&&$XX&&&&&&&&
x&$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&X::::::::x&&$&&&&&Xxx+X&&&&&&&&&&$$$&&&&&&&xx&&$&xx$x+;;;;;+xxxxxxxxxXXXxxx;;;:::::::;;;;;+xxX&&&&&&$XxxxxxX$$$$XxxxxxX$&X;;x++++++++++xxX$&&&&&&&&&x&&&&&X&&&&$x$&&&&xxx+&&&&&&&&xx;...:...;;X&&&$&&&&$XX$&&&&&&
&Xxx&&&&&&&&&&$&&&&&&&&&&&&&&&&$&&;::::::::$&&$$xx;;xxxx&&&&&&&&&&&$$&&&&&&&&$$&&&$Xx$x;;;;;xxxxxxxxxxxxxxX$$$Xx+;;;;+;;+++xxxX$$$Xx;:::::::;;xX$&&Xxxxxx$&+;x&x;++x;:..:++++xX&&$&&&&&&&&&$$&&&&Xx&&&&&x+xxx&&$&&&&Xxx:....:.:;x&&&&&&&&$xxX&&&&&&
$$x$&&&&&&+:xx&&&&&&&&&$&&&&&&&&&+::::::::x&&&&&&$xxxxxX&&&&&&&&&&&$$&&&&&&&&xx&$xx;:+$+;;;;xxxx+;;:::.::;;++xxxxx+++xx+xxxxxxxxx;::..::::;;;+xx$$$$Xxxxx$$X$&&x;;;;;;;+;++xX$X&&&&&&&&&$X&X$&&&&Xx&&&&&x;+++$&&&&$&&xx;..:....:;x$$&&&&&&xxX&&&&&&
&&&&&&&&&x;:x&&&&x$&&&&&$X$&&&&&X::::::::;X&&$XXxxxxxxx$&&&&&&&&&&&&$$&&&&$$&&&&&Xxx;:x+;;;;+x+;;:::::::::;;+++++++;;;;;;+++xxx+;;;;;;xX&&&$$X$$$$$$xxxxx$$&&&&+;;;+;+;;::;:xxX&&&&&$&$&&$$$$&&&&xx&&&&$x++;+;&&&&&&&$xx:......:::$&xx$&$X&&&&&&&&&
&&&&&&&&&&$;:X&&&x$&&&&&$$$$$&&&;::::::::x&&&&&&&&Xxxxx&&&&&&&&&&&&&$&&&&&;xxxXxxxx++;x+;;;;;+;;;;+xx+++xxxxxxxx+;;;::::;;;;xx++;+xxx&&&&&$x&&&&&$Xx++xxx$&&$$$;;;;++++++++:x&&&&&xxxx&&&&&$$&&&$xx&&&&$x+;;;:x&&&&&&&Xx+:..:...::x&&&$x&&&&&&&&&&&
&&&&&&&&&&&x:x$&&&&&&&&&&&$$&&&x:.::::::;$&&&&&&&&xxxx$&&&&&&&&&&&&&&&&&&+xxxxxxxxx;;;;+;;;;;;+xx$$x;$&$&&$$$Xxx+;::::..:::;;;;;+x+:.:x&&X++xxXxxx+;;;+xx$&&$xx;;;+++++++;;;;;;++++++x+$Xx$X$&&&$xX&&&&$xx;;;;:&&&&&&&&xx;.......::x&&&&&$x$&&&&&&&
&&&&&&&&&&&&&X$&&&&&&&&$$$&&&&$;::::::::x&&&&&&&&xxxxx&&&&&&&&&&&xx&&&$x+xxxxxxxxxx:;;;+;;;;;;;+xxx;:;$&&$;;xx+;;:::::...::::;;;;:::::;;;;;;+xXXx+;;;;+xx$&&$++++++++xxx+++++++++++xx+xx+$$X$$&&Xx$&&&&&x+;;;;;+&&&&&&&$+x:.......::x$&&&&$&&&$X&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+::::::::;$&&&&&&&&xxxx$&&&&&&&&&&&&&&&&xxxxxxxxxxxxxx:;;+;;;;;;;;;;;;:::::;;+x+::::::::....::::::::;+xxxxxxx$$$x+;;;;;;+xx$$$x;;++++xx+xxxxxx++xxxxxxxxxxx+X$&&&&Xx&&&&&&$++::;x:$&&&$&&&x++....:..::;$&&&&&&&&&&&&&
$xX$&&$xx$XX&&&&&&&&&&&&&&&&&x:::::::::x&$xX&&&&xxxxx&&&xX&&&&&&$&$&&&xxxxxxxxxxxxxxx::++;;;:::;;;;;;;++xxx+;::::::::::...:::::::::::;;+xx++;;:::;;;;;+xX$XX+:x++++x+xxxxxxxxxxxxxxxxxxx+xX$&&&&Xx&&&&&xxx+;::+;;&&&&$&&X++:.......::;&&&&&&&&&&&&&
&&&&&&&$xxxx&&&&&$xx+x$$&&&&$;:::.::::;$$$$&&&&&xxxx$&&&x;$&&&&&&$$$&&xxxxxxxxxxxxxxx+:;+;;;;:::::;;;;;;;;:::::::::::::...:::::;:::::::::::::::::;;;;+xxXXx;+$x+++++x+xxxxxxxxxxxxxxxxxxxx$&&X$&xx&&&&$$&Xxx;:;;:x$&&&&&&x++........::x&&&&&&&&&&&$
&&&&&&&&X&&&&&&&x::;;x&&&&&&x:::::::::x&&&&&&&&xxxxx&&&$$X$&&&&&&&&&&&xxxxxxXXxxxxxxxx;:;;;;;:::::::::::..:::::::::::::...:::;:::::::::::::::::::;;;;+xxXx++xxx++++xxxxx+xxxx+++;++++++++x$&&&&&xx&&&&&&&&xx+:;;;;$&&&&&$X+;;.......:::&&&&&&&&&&&&
xx&&&&&$&&$X&xx&&&&&&&&&$&&X:::::::::;$$X$&&&&&xxxxX&&&&&&&&&&&&&&X$&&$xxxxXX$$$$XXxxx+:;;;;::::::::......::::::::::::::...::;:::;:::::::::::::::;;;;xxX$xxx;xxxxxxxxxxxxxxxx++;;;;;;;++xx&&&$&$xX&&&&&&&&X+x:;+;:x&&&&&&&&+;:.......:::&&&&&&&&&&&
&&&&&&&&X+;&x+xXXXX$&&$$&&$;::::::;;:X&X::.:x&xxxxx&&&$&x$&&&&&&&&&&&&$xxxxxxxxXXXXxxxx;:;;;:::::::::....:::::;:::::::::..::::::::;;::::::::::::;;;+xxX$$x+++xxxxxxxxxxxxxxxxxx++++++++xxx&&&&&$x$&&&&&&&&$xx+:;;:;&&&&&&&&x+;:.......:.+&&&&&&&&&&
&$x&&&&&&&$&$$xxx&&&$&&$&&X::::::;x;;&$x:::::xxxxxX&&Xxxx+&&&&&&&&&&&&xxxxxxxxxxxxxxxxx+:;;;;:::::::::::::::;;;::::::::.:::::::::;;+;;;::::::;;;;;;xxX$$$Xx+;;:::::::::::;;;;;;;;;;+;+xxxxX&&&&$x$&&&&&&&&&X+x;;+x:x&&&&&&&$+;;..::...:::$&&&&&&&&&
&$$&&&&&&&&&&&&$$XxX&&&&&$:::::::x+:$$&&&x;+Xxxxxx&&$+xX$$$&&&&&&x+;;++++++xx++;;;;;::::;;;;;;;::::::::::;;;x;;:::::::::::;;;;;;;++xx+;;;;;;;;;;;+xxX$$$$;::::::::::::::::::::;;;;;;;;;;++xxxxxxx&&&&&&&&&&&xx+;+x+;&&&&&&$&$;;:.......:::$&&&&&&&&
&X&&&&&&&&$&$Xx$$$x$&&&$$;:::.::+x;x$$&$Xx$$xxxxx$&&$X$x$$x$&&&&&x;++++++++++++++;++++;;;++;;;;;;;;:;;;;;;xxx;;;;;;;;;;;;+xxX$$$$$$XxXx+;;;;;;++xxx$$$$&$+;;;;;;;;;+++++++++;+;+++++++;;;;+++xxxx&&&&&&&&$$&x+x;;+x:x&&&&&&&$+;;:.......::;&&&&&&&&
&$&&&&&&&&&&&$$$&&&&&&&&$::::::::::X$&$x$&&xxxxxx&&&xX$$&$x$&&&&&$xxxxxxxxxxxx+++++;;;;;;;+;;;;;;;;;;;;;+xxxx;;;;x$$&$$X$$$&&&&&&&&XXXXx+++++xxxxX$$&&&&X;;;;;;;;;;;;;;;;;;;;;;;;;;;;+;;;;++++xxx&&&&&&&&&&XXxxx::;;;$$&&&&&Xx;;:.:::....::x&&&&&&&
xX&&&&&&&&&&&&&&&$$&&&&&::::::::::x$$&$$&&&$xxxxX&&x;;x&&$+&&&&&&&$$$$$$$$$$$X$$$$$$$$$$$$x;;;;;;;;;;;;+xxxx;;;;;;+++;+xX$$$$$$$$$$xxxxxx+xxxxxX$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&$xX&&&&&&&$&&&&xxx;:;x;+xX&&&&xxx;;:.....:..::+x$&&&&
xx++$&Xxx&&&&&&&&$x&&&&x:::::;;;:;$$&&$&&&&Xxxxx&&$;;x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x;;;;;;;;;++xxxxx;;;;;;;;;:;+++;;xxxxxxxx+xXXxxxxxxX$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$x$&&&&&$&&&&&&&xxx;;;;:;x&&&&xxx;;;...:.....::X$$$&&
x+;::x&&&&&&&&&&&X+$$$$:::;;::;;:x$&&$$&&$Xxxxx$&&&$&$X&&&&&&xX&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;;;;;;;;+xxxxxxxx+;;;;;;;::;;:;;;+xxxxxxx$$$$XxxxX$$$&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x$$x&&&&&&&&&&&X+xx;;;;x&&&&&xxxx;;:.........:;$$$&&
&&&&&&&&&&&&&&&&&xX&&&;:::::::::+$$&&$&X;xxxxxx&&&x&$xX$$&&&&&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&X;;;;;+;;+xxxXX$$Xxxxxxxxxxxxx$$$$&&&&&&&&&&&$$xxX$$&&&&&$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$x&&$&&&&&&&&&&&&xxx;+x+;&&&&$xxxxx;;:...:.:...:x$$$$
&&&&&&&&&&&&&&&&&X$&&x::::::::::x$&&&$&$XXXXxx$&&&&xx$$+;x&&&$x&&&&&&&&&&&&$&$$&&&&&&&&&&&&&&x;;;;;;;++xxxXXxX&&$x;:::::;+;;+x+xX$&&&&&$XxxxxX$$$&$$$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$x&&&&&&&&&&&&&&&Xxx+;+x;+&&&xxxx$$;;:..........:X&&&
&&&&&&&&$&&&&$$XxX$&$::::::::::;$&&&&$$&$Xxxxx&&&&&&&&$;x$&&&&&&&&&$$$$&&&$$$$$&&&&&&&&&&&&&&$+;;;;;;;;;++;;;;;;xx;;;:...:..:xx$&&&$xxxx;;;+xx$$$$$$x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$&&&&Xx&x$&&&&&&&&&&&&&xxx;+++:X&&xxxx$&x;;:....:.:...;&&&
X$$&&&&&&&&&&$$$$&&$;::::::::::x&&&&&$&&$xxxx$&&&$$$&&&&&&&&&&&&&&&XXXXXXXXXXXX$XXXX$XX$$$XXX$Xx;:;;;;;;;;;:::;;;;;;+x++xxxxxx+;;++++x+;;++xx$$$$$XxxxxxxxxXxxxxxxxxxxxxxxxxx+++xxxxxxxxxxxXXXxX&&&&&&&&&&&&&&&&Xxx+;++;:&&xxxx$&$+;;.......:...x&&
&&xxx&&&&&&&&&&&$$&x::::::::::;$&&&&&&&&$xxxx&&&$x$&&&&&&$X$X&x$&&&XXXXxXxXXX$$$$$$$$$$$$$$$$$$$x:;;;;;;;;;;::;;;;+;;;:;;;;;;;;+xxxxxx+;+xxx$$$$Xx+$xxxxxxxxxxxxxxxxxxxxxxxXXxxxx;;;+xxxxxxxxXx$&&&&&&&&&&&&&&&&&xxx;;x+;x&xxxx$&&x;;:.......:...&&
&&&&&&&&&&&&&$$&&&&+::::::::::X&&&&&&&&&$Xxx$&&&$&&&&&$&&&$x&&&&&&&$xxxxxxxxX$$X+:;;$$$$$$$$$$$$$X;:;;;;;;;;;:;;;;;;;;;;;;+;+++xxxxxxx;++xx$$$$Xxx&&;++xxxxxxXxxxxxxxxXXxxxxxxxxxxxxxxxxxxxxX$$$&x&&$&&&&&&&&&&&&$xxx;xx+;Xxxxx$&&&x;+........::.:&
&&&&&&&&&&&&&&&&&&X:::::;::::+&&&&&&&&&&$Xxx&&&&&&&&&&&&&&XXX&&&&&$$XXXXXXXX$$$x:;x$$XXX$X$$$XX$$$x+;;;;;;;;;;:;;;;;;;++xxxxxxxxxxxxx;;+xx$$$Xxx$$$&x;.....:+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX$&&&&&&&&$$&&&&&&&&&xxx;;++:xxxxx$&&&$+;;........::.x
&&&&&&&&&&&&&&&&$X;::::;:::::X&&&&&&&&&&$Xx$&&&&&&&$$$$&&$XxxxxXXX$$$$$$$$XXXXXXxxXXXXXXXXxXXxx++xxx+;;;;;;;;;::;;;;;;++xxxxxxxxxxxx;;+xxX$$xx$&&$$$&$$x:......:;+xxxxxxxxxxxxxxxxxxxxxxxxxxxxx$&&&&&$&&$$$&&&&&&&$xx+;;+;xxxxX$&&&&x;+:.....:::::.
xx&$$&&&&&&&&&&&&x:::::::;;:x&&&&&&&&&&&&Xx&&&&&&&+X$$&&&XxxxxxxxxxxxxxxxxxXxXXxxxxxxxxxx++;.:;++;;++;;;;;;;;;;;:::::::::;;;;;;;;;+;;;xxX$XxX$&&&$$$&&$X+:..........:;+xx++++xxxxxxxxxxxxxxxxxxxxxXXX$$$$$$&&xx$&&&xxx+;;xxXxx$&&&&&&+;+.....:::::;
&$&&XX$&&&&&&&&&$:::::::Xx;;$&&&&&&&&&&&&$$&&&&&&&$$x;+x$xxXX$$$$$$$$$$$$$$$$$$$$$$$$x;:......:;;;;;;;;;;;+;;;;;::::::::::::::;;;;;;;xxX$XX$$$&&$$$$$$$$x:..............:;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&&&&&xX&&&&Xxx+;;+xxxx$&&&&&&$;;;..:::::::;
&$$$&$X$&&X&&&&X+;;;;;;X$x;X&&&&&&&&&&&&&$$&&&&$$&&xx$&&&xxXXXXX$$$$$$$$$$$$$$$$Xxxx:..........:;::;;;;;;;;;++;;;;:::::::::::;;;;;;+xX$$$$X$$&&&$$$$$$$Xx::.................;xXXXXXXXXXXXxXXXXxXXXX$$Xx$&&&&&&&&&&&&xxx;;+xxxx$&&&&&&&x;x;..;+:;:;+
&&&&&&&$$&&$$&&&$xxxx$$X;;X&&&&&&&&&&&&&&&&&&&&&&&X$&&&&X$&&&&&&&&&&&&&&&&$&&&$+.................:::;;;;;;;;;+x+++;;;;;;;;;+++++xxx$$$$$$$X$$&&$X$$$$$$x+::....................;x$$$$$$$$$$$$$$$$$$$$Xx&&&&&&&&&&&&&$xx+:xxxxX$&&&&&&&$++x+::;;;+:x
&&&&&&&&&&&&&$xx+;++xx+;+$&&&&$x$&&&&&&&&&&&&&&&&&xx$&&&&&Xx$&&&&&&&&&&&&x;.......................;;;;;;;;;;;;;+xxxxxxxxxxxxxxxX$$$$$$$$$XX$&&$$$$$$X$Xx;::.......................;$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Xxx:xxxx$$&&&&&&&$xxxxxx$&&&&&
&&&&&&&&&&$$x+++;;;;;;:x&&&&&&$x$&&&&&&&&&&&&&&&&&xx$&&&&&&&&$&&$X;;+;:............................:;;;;;;;;;;;;+xxxXX$$$$X$$$$$&&&$$$$$$X$$&$$$$$$$XXx;;:.::.........................x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Xxx+xxxx$$&&&&&&&&xxX$;.:::;;x
&&&&&&&&&&$;:+;;;::;:;X&&&&&&&&&&&&&&&&&&&&&&&&&&&&XX&&&&&&&&X$x....................................:;;;;;;;;;;+++xxxxX$$$$$&&&&&&$$$$$$$X$$&$$$$$$$Xx:;::::..............................+$&&&&&&&&&&&&&&&&&&&&$&&&&&Xxxxxxx$$&&&&&&&$x$&$x;:..:.:
&&&&&&&&&x;;;;;:::;;x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&$$$$&&&&&&&$;..............................:........;;;;;;;;+++++xxxxxXX$$$$$$$$$$$$$$X$$$$$$$$$$$x;;:::::.................................:$&&&&&&&&&&&&&&&&&&$&&&&&xxxxxX$&&&&&&&&xx$$xx++:..::
&&&&&&&X;;;;;::::;;x&&&&&&&&&&&&&&&&&&&&&&&&&&&&&X$&$$&&&&$$x.........................:.......::.......:;;;;;+;++++xxxxxxxX$X$$$$$$$$$$$$$$$$$$$$&$+;;:::::....................................:$$$&&&&&&&&&&&&&&$&&&&&Xxxxx$&&&&&&&&&xxx$$x+++;:..
&&&&$x;:;;;;::;;:+$&&&&&&&&&&&&&$&&&&&&&&&&&&&&&&X$XXX$$x+:....................................:;........:;;+;++++xxxxxxxxxxX$$$$$$$$$$$$$$$$$$$$x+;;:::::.......................................;$X$&&&&&$&&&&&&&&&&&&$xxxx$&&&&&&&$$xxxXX$x;;+;;:
&&x$$+;;;;;::;;;x$&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x:.......................................:.......;:........:;++++xxxxxxxxxxxxX$$$$$$$$$$$$$$&&$xx++;::::::.........................................xxxxX&&&&&&&&&&&&&&$xXxxX$&&&&&&&&Xxxxxx$&X+++++
&&$+;;;;;;:;;;;x&&&&&&&&&&&&&&&&$&&&&&&&&&&&x;............................................::.......;:........:;+xxxxxxxxxxxXxXX$$$$$$$$$$$&$$x+x++;;;::::...........................................xxxxX&&&&&&&&&&&&XxxXxxX&&&&&&&&&xxxxxx$&&$x+++
&$;;;;;;;;;;:+$&&&&&&&&&&&&&&&&&$&&&&&&&&&&$$;.............................................:;:......::.......:..:;xxxxxxxxxxXXX$$$$$$$$$&$xx+++;;;;:::::............................................;xxxxX&&&&&&&&&&&$XXxxxX$&&&&X&&&XxX$Xx$&&&&x++
x:;;;;;;:;;:x&&&&&&&&&&&&&&&&&&&$$&&&&&&&&&&+................................................;;:......::.......:::..::;;xxxXXXX$$$$$$Xxxxxx++;;+;;::::::............................................:xxxxxX&$XX&&&&&&&&&xxx$$&&&&$x$&xxXX$$$&&&&&X+
:;;;;;;;;;;$&&&&&&&&&&&&&&&&&&&&$&&&&&&&&$;..............................................:....:;:.......::.........::::::::;;;+++++++xxxx++;++;;;;:::::..............................................xxxxxxX$$&&&&&&&&&$xxX$&&&&&&x$XxxXXX$$&&&&&&$
;;;;;::;;x&&&&&&&&&&&&&&&&&&&&&&&$&&&&&$;....................................:.............:...:;:.......::..:::::.....:::::;;;;++;;;:;;;;;;;;;;;;:::::..............................................xxxxxx+&&&&&&$&&&&$xXx$&&&&&&$xxxx$XX$$$&&&&&&
;;;;;::;X&&&&&&&&&$&&&&&&&&&&&&&&$$&&&x...................................:...:...:..:......;;..:;:....:...::...:::::::::::::::::;;;;;;:::::;;;;;::::::...........................................::.x++xxxx+$&&&&&&&&&XxXX$&&&&&&$x;+xXX$$$$&&&&&&
;;;;;:+$&&&&&&$$&&$&&&&&&&&&&&&&&XX&&+......................................::.::::::........:+:.:;;......:..::...:::::......:::::::::::::::::::::::::.........::::..............................:;.;xxxxxxxxx&&&&&&&&$XxxX&&&&&&$x;:+xxX$$$&&&&&&&
:;;;;x&&&&&&&&&XxX&&$&&&&&&&&&&&&x$&;.................................:::....::.::::::.....:::.;;.:;;:.....:..::...:::::......::::::::::::::::::....::::::::::::::.............................::;;.xxxxxxxxxX&&$&&&&&$Xxx$&&&&&xxx;;+xxx$$&&&$&&&&
;;;+$&&&&&&&&$$xxX&$$&&&&&&$&&&&&$&+....................................:::...:;:;;;:::....::::::+::;:::...:....::.....:.......::::::::::::::::.......:::::::::::.............................::;+.;xXXXXX$XXx&&XX$$$$$Xxx$&&&&&xxx;;+xxx$$&&$&&&&&
;:x&&&&&&&&&;+xxX$&$$$&&&&&&&&&&&&x.......................................:;:::;+;:;;:::..::::::::+::;::::..::...:;:.............:::::::::::::...............................................:;++;.xx$$$$XXXXX&&&&&&&&$xxX&&&&&$x+x+;+xxx$$$$$&&&&&
;x&&&&&&$$&&&$$$$$$$$&&&&&&&&&&&&X.........................................:;;:;x+;;;;:::.:::::;::;+::;;::::.:;...:;::..:........::::::::::::...............................................:;+;;.xx$&&&&&&&&&&&&$$&&&XXxx$&&&&$xxx+xxxxX$$$$$$&&&&
$&&&&&&&&&&&&&&&&$&&&$&&&&&&&&&&&...........................................;+++xx;+;;;::::;::::+:+x;:;;;;;;:.:;...:;;::::.......::::::::::::...............................................;+;;:;xx&&&&&&&&&&&&&&&&&&XXX$&&&&&$X+;xxxxxX$$$$$$$&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&X..........................................::+xxxx+x+;;;::;;;::::;:xx::;;++;;..;;:..:;;:::........::::::::::................................................;+;;.xxx&&&&&&&&&&&&&&&&&&XXx$&&&&&Xxx+xxxxx$$$$$$$&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&:...........................................:;xxxxxxx;;;;::;;;:::;;+x+:;;;x+;:::;::..:;:::.........:::::::::...............................................:++;.+xxx&&&&&&&&&&&&&&&&&&XXX$&&&&&XxxxxxxxX$$$&$&&&xx$
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&x............................................:;xxxxxxx+;;;;:;;;::::;;xx;:;;+x+;::;;:...:;;:.........:::::::.............................................:...:x;;;x+xx&&&&&&&&&&&&&&&&&&XXX&&&&&&$xxxxxxx$$&&&&&&&&&$
&&&&&&&&&&&&&&&&&&&&&$&&&&&&&&&;.............................................:xxXxxxxx;;;;::;;;;:::;+x+;;;;xx+;;;+;:..:;;::........::::::..............................................:...;x;;xxx;x&&&&&&&&&&&&&&&&&$XXX&&&&&&$xxxxxxx$&&&&&Xx+xxX
xxX&&$$$&&&&&&&&&&&XXX$&&&&&&&$:.............................................:+X$xxxxx+;+;;:;;;;:::;+xx+;;;+xx++++;::.::;;:.........:::::............................................:::...+++xx+xxxX&&$XX&&&&&&&&&&&$XX$&&&&&&&XxxxXX$&&&&&&Xxx&&&
;;;x$X&&$XX&&&&&&&&$xxX&&&&&&$;...............................................:x$Xxxxxxx++;::;;;;:::;xxx+;;;xxx++++;;::::;;:........:::::...........................................:.::..:xxxx+xxxxxxxXxxxxxxX&&&&&&$XX$&&&&&&&&xxxxXX$&&&&&$$$$&&
x+;;xxx&&&&&&&&&&&&&&&&&&&&&&x.................................................;xXXxxxxxx++;:;+;;;:::+xxx;;;+xxxxxx+;;::::;::........::::...........................................::::..:xxXxxx+;xxxxxxxxxxx+&&&&&&$XX$&&&&&&&$xxx+xx$&&&&&$$$$$&
xx++xXx+X&&&&&&&&&&&&&$&&&&&X:..................................................;x$Xxxxxxx++;:;+;;;::;xxxx;;;xxxxxx++;;:::;;:.........:::...........................................:::;..;XXxxx+;+xxxxxxxxxxxx+&&&&$XXX&&&&&&&&&x+;;+xX$&&&&&&&$&&
xxx+xXXxX$&&&&&&&&&&&&$&&&&$;......................................:............:;X$XXxxxxx+;;:;+;;;::;xxx+;;;xxxxxx+++;;::;::........:::...........................................::;;.:x$xxxxx+;xX$$$$$X$XXXXx&&&$Xx$&&&&&&&&$x+;;xX$&&&&$&&&&&&
&$Xxxx$$$&&&XX$&&&&&&&&&&&&x........................................::..........::+$XXxxxxxx+;:;++;;;:;xxxx+;;+xxxxx++++;;;;;:.........::...........................................::;;:;X$xXxx;:;xXxxxxXxxxxxxXx&&$Xx$&&&&&&&&$x++;x$&&&&&xx$$$$&
&&&&&&&&&&&&&&&&&&&&&&&&&&$:.........................................::::........::x$xxxxxxxx+;:;++;;;:;xxxx;;;+xxx++xx+++;;;::........::...........................................:;+;;x$XXxx::;++xxxxxxxxxxx+;xX&$xx$&&&&&&&&$xxxx$&&&&&&$xxXXX$
&&&&$$$&&&&&&&&&&&&$&&&&&&$...........................................:::::.......::XXXXxxxxxx+;:+++;;;:+xxx+;;;xxxxxxxx++;;;;::.......:::.........................................::;+++x$XXxxxxx++xxxxxxxxxxxxxxxX$xX$&&&&&&&&$xxxx&&&&&&&&$xxX$$
&&&&&&&&&&&&&&&&&&&&&&&&&&+............................................::::::.....:::XXxxxxxxxx;;;x+;;;:;+xxx+;;+x+++xxxxx++;;;::......:::........................................::;xxxxX$Xxxxx+++;++;;;++++++x+++x$XX$&&&&&&&&XxxxX&&&&&&&&&xxXX$
&&&&&&&&&&&&$$&&&&$&&&&$&&+.............................................:::::::::.:::xXxxxxxxxx+;:;x++;;:;xxxx+;;+xxxxxxxxxx+;;;::.....:::........................................:;+xxxx$XXxxx+++;:;+;;++;+++++;;;x$X$$&&&&&&&&xXxx$&&&&&&&&&$x&&&
&&&&&&&&&&&&$$&&$$$$$$X&&&x.............................................::::::::::::::XXxxxxxxxx+;:+x++;;:+xxxx;;;+xxxxxxxxx++;;;::....::::......................................:;+xxxxxXXxxx++++;:;;+;;;;;+x+;++xX$X$$&&&&&&&XxXXX$&&&&&&$$&$$x&&
&&&&&&&&&&&$X&&&$$$$$$&&&&$..............................................:::::::::::::xXXxxxxxxx+;;;xx+;;:;+xxx+;;;+xxxxxxxxx++;;;:::..:::::...................................:::;+xxxxXXXxx;++;;;;;;;;;;++;;+;;;xX$$$$&&&&&&&xxXXx$&&&&&&&$$$$Xx$
&&&&&&&&&&&$&xx$$$$XX&&&&&&:..............................................::::::::::::+XXxxxxxxxx+;;;xx+;;:;+xxx+;;+xxxxxxxxx+++;;;:::.:::::.................................::::;:;xxxxXXxx+++;;;;xxxx+xxxxXxxxxxX$$X$&&&&&&&&xxXxx$&&&&&&&$X$$$Xx
&&&&&$&&&&&&&x$$$XXX&&&&&&&x...............................................:::::::::::;XXXxxxxxxx++;;+xx+;;:+xxxx+;;+xxxxxxxxx++++;;;:::::::.................................:::;;;+xxxxXxxx+;;+++xXxxx+xxxxxXXxxxX$$$$&&&&&&&$xxxxx$&&&&&&&$XxX$$x
&&&&&&&&&&&&&$$$Xxx$&&&&&&&x...............................................::::::::::;;XXXxxxxxxxxx+;;xx++;:;xxxxx+;;+xxxxxxxxxx+++;;;::::::..............................:.:::;+;;+xxxXXxxxxxxX&&&&&&&&&&&&$$&&&&XXX$$&&&&&&&&+xxxx$$&&&&&&&&$X$$$
+x$&&&$&&&&&$$$XxX$&&&&&&&&:...............................................::::::::::;;XXXXxxxxxxxx+;;;xx++;:+xxxx++;++xxxxxxxxxx+++;;;;:::::.....................:...:...::::;+x;;+xxxXXXxxxX&&&&&&&&&&&&&&&&&&&&XXX$&&&&&&&&X+xxxx$X$&&&&&&&&$X$$
XxX$&X$&&$X$$$$XX$&&&&&&&&;................................................::::::::::;;XXXXxxxxxxxxx+;;+xx+;;:xxxxx++++xxxxxxxxxxx++;+;;;;;::::...................:.......:::;;xx;;xxxXXXxxxxx&&&&&&&&&&&&&&&&&&&&XXx$$$&&&&&&x+++xxXXX$&&&&&&&&$X$
$Xx$&&&&$$$$$$XX$&&&&&&&&;................................................:::::::::::;;XXXXxxxxxxxxx++;;+xx+;;;xxxxx++;++xxxxxxx+++++++;;;;;;::::.:...............:::::...:;;;xxx++xxXXXxxxxxx&&&&&&&&&&&xx$$$&&&&XXx$$$$&&&&$++x+xx$$XX$&&&&&&&&$X
&XX$&&&&$$$$$XX$&&&&&&&&x..................................................:::::::::::;$XXXXxxxxxxxxx+;;;xxx+;;+xxxxx++++xxxxxxx+x+++;+++;;;;;;::::::.........:..:::::::..:;;xxxxx+xxXXxxxxxxxx&&&&&&&&&&++xx$$&&&XXX$$$$$$$&$+xxxxX$XXx$&&&&&&&&&$
&&&&&&&$X$$$Xx$&&&&&&&&X...................................................:::::::::::;XXXXXxxxxxxxxxx+;;+xxx;;;xxxxxx++++x+x+xx++++++++++;;;;;;;;:::::...:.:...::::::::..:+xxxxxxxxxXxxxxxxxx;$&&&&&&&&&+;xX$$$$&XXX$&$$$&&&$xxxxX$$$Xx$&&&&&&&&&&
&&&&&&&X$$$XX$&&&&&&&&&....................................................:::::::::::;XXXXXxxxxxxxxxx++;;xxx+;;+xxxxxx++++x+xxx++++++++++;;;;;;;;;;;::::::::::.:::::::::::+xxxxxxxxXXxxxxxxx+;:;+;;;++xxxxXXX$$XXXXX$$$$X&&&$xxxx$$$$XX&&&&&&&&&&&
Kenneth Chen Ko Han
Also just a passenger on this train
kenneth.chen1337@gmail.com / linkedin / huggingface
I build AI systems that ship to production — computer vision pipelines, speech recognition, voice agents. Most of my work sits at the intersection of "make the model work" and "make it work reliably"
Experience
Resumify
Co-founded non-profit with YellowRibbon.gov.sg, HTX, and Singapore Prison Service. AI platform helping ex-inmates craft resumes for job placement. Secured $24,100 grant from National Youth Council. Signed 12-month MOU with YellowRibbon. Featured on Zao Bao.
Next.js, LLM Agents, OpenAI API, ElevenLabs
RAiD, Republic of Singapore Air Force
Video analytics platform for RSAF with NUS grad students and NCS engineers. Speech recognition and speaker diarization for Air Traffic Control using NVIDIA NeMo and vLLM on H200 GPUs. Finetuned canary-1b and parakeet-tdt.
NVIDIA NeMo, vLLM, PyTorch, NVIDIA H200
Bifrost AI
Prototyped novel data visualization method for customers like NASA, BigBear AI and DSTA using JinaCLIP. Trained YOLOv6-lite for ST Engineering's Unmanned Vehicles Team, boosting accuracy 16%+. Fine-tuned StabilityAI VAE for synthetic-to-real domain adaptation.
YOLO, VAE, JinaCLIP, OpenCV
GovTech Singapore
Red-teamed GovTech's AI Image Detector with custom-trained LoRAs. Built end-to-end CV pipeline for MSO's OneService App automating classification of thousands of daily municipal reports. Developed real-time animal welfare detection for NParks using OWLv2. Prototyped XAI tool using Few-Shot Segmentation.
OWLv2, LoRA, Few-Shot Segmentation, XAI
Research & Community
Holding State-of-the-Art Word Error Rate on the ATC-ASR benchmark with finetuned parakeet-tdt
Annotated data for ACL 2025 accepted paper on vision-language datasets
150+ member Discord / 3 workshops / 3 competitions / team ranked top 6% globally at Reply CodeTeen
Nationwide hackathon across all 5 polytechnics, sponsored by Google and AI Singapore
Education
Bachelors in Computer Science, Minor in Mathematics
NUS Merit Scholarship
Diploma in Applied AI and Analytics
CGPA 4.0/4.0 / Lee Kuan Yew Award / IMDA Gold Medal / SP Scholarship
Skills
| Languages | Python, C++, JavaScript, SQL |
| AI/ML | PyTorch, OpenCV, YOLO, Grounding DINO, Transformers, NVIDIA NeMo |
| GenAI | LLM Agents, LoRA, VAEs, MLOps |
| Web | Next.js, React |
| Infra | AWS Lambda, Docker, GCP, NVIDIA CUDA, Git, LaTeX |