.; . .
+:;x;;;;xX+;;+++;:::;+:
:Xx;::::::::::::;::::::;;:;;:..
.:::;::;::::::::::::::::::::::::::::;+:;.
.:;;;;:::::::::::::::::::::::::.:::::;;;;::;;;;.+
. :::+;:::::::::::::::::::::::::::::::::::::::::;;;;:::::;:.;;.
:++xxxx++++;::::::::::::::::::::::::::::.::::::::::::::::;:;::;::;::;::::;+xXX$+++..
.xXXXXx;::::::::::::::::::::::::::::::....::::::::..::::::::::::;;;;:::::::::::;;:;++;: .
x++;::::::::::::::::....:::::::::.........::.........::::::::::::::::::::::::::::;;;;;;+;;+++
. .+Xxx+;;;;:;:::::::::...::::::::::::::::::...:::........::........:::::::::::::;;;;:::::::;;:;;;:::::+X:
.. +x+;;;;;;;;:::::::::::::::::::::::::::::::::.:::.................:::::::::::::::::::;;::::::::;;;;;:::::+
:+xxxxx++;;;;;;;;;;:::::::::::::::::::::::::::::::::::::..::..:::.......:::..::.::::;::::::::..::::::::::.::::;;;;;;;;x
.x++;:::::::::::::::::::::::::::::::::::::::::::::::::::::::..:......::..:::::::::::::::::::::::::.:::::::::::::::;;;;:+XXx.
;x+;:::::::::........:::::::.::::::::::..:::::::::::::::::::::::::::::::::::::::::::::::::::::;;;::::.:::::::::::::::::::;+x$$Xx:
.XX+:::::::.......:...:::::::......................::::::::::::::::::::::::::::::::::::::;:::::;;;::..::;::::::;;;;;;;;;::;+xXXx;
.;x;::::::::.......................................:::.:::::::::::::::::..::::::::::::::::::::::::;;::.:...:;;::::...;;;;;+;;;;++xX x
x+::::::::::::::::::............::::::.....:::::........:::::::::::::::::::::::.:::::::::::::::::::::;;;:::::::::::::::;;;;;;;;;;;+xXX
;;::::::::::::::::::::::...........::::.........:::::.::::::::::::::::::::::::::::::::::::::::::.:::..:::;:.......::;;;;;;;:;;;;;;;;;;+x.
.+;::::::::::::::::::::::::::::::::::::::::.:::::::::...:::::::::::::::::::::::::::::::..:::::::::::::::..:::;;:::::.......::::;;;;;;;:;;;+xXX
;x;::::::::::::::....::::::::::::::::::::::::......................:::::::::::::::::::::::::::::::::...::.....:::::...::::::::;;:.;::::;;;;;;;xx+.
.:Xx;::;::::::::::...:::::::::::::..::::...........:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.;;::::::::::;;;;+x;
.+x;;:::::::::::::::::..::::::::.....:........:::::::::::::::::::::...:.:...:::::::::::::::::::::::.......:::::::::::::::::::::;;::;;::::::...:;;::+X.
:;::::::::::::::.........:::::.....::::::::::::::.:::::::::::::...:::........::::::::.:::::::::::::::::..::.......:::::::::;;+;;;:::::::;;;:::.:::::+
.;::::::::::::::.......:::::::::.::.::::::::::::...:::::::::.::::::::::::::.....::::::::::::::::::::::::::::::::..::::::::;;::;;;;;;::;:::::::::::::::;X
x:::::::::::::::::...............::::::.::.::::::::.::..::::::::::::::::::::::::::::::::::::::::::::::::::::::::..........::;;;;;;;;;::::::::::::;;::::;;:
+::::::::::::::::::::::::........::.:.:.:..............:::::::::::;::::::::::::::....::..:::::::::::::::::::::::.::::::.:....:;;;;;;:;;;;;:::::::::::::::;x+ .
::::::::::::::::::.:.......::.:::::::::::..............::::::::::::::;::::::::::::::::.:::::::::::::::::::::::::.:::::::::.:....:;;;;;;:...:::::::::::::::;:++
:.:::::::::::::..........::::::::::...::.............::::::::::::::::::::::::::::::::::::::::::::::::::::::::;:;::::::::::;..:.:;;;;;;;;;:::::::....:::::::::+.
;:::::::::.:::::..........:::::::::::::....::::::::::::::::::;::;;;;;;::;;;;;;;;;;;:::::::::::::::::::::::::::::::::::::::;::;::....:;;;;;;:::::.::...::.::::::++;
:::::::::..:::...........::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::::::::::::::::::::::;;;+::;;;:::::::::;;;;::;::::::::....:::::;++
.::::::..:..:::...........::...::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::::::::::;;;;:;;;;;;;;;;:::::.::::::;::::::.::::::::::;++
+::;::...:.:::...............::::::::::::::::::::::::::::;:;;;;;;;;;;;;;+++++++++++++;;+;;;;;;;;;;;::::::;;:;::;;++++;;;;;;;;;;;;;;;::.:::.::.:::::::::::::;;:::::;x:
+::::::..::...:............:.:::::::::::::::::::::::::::;;;;;;;;;++;;;++++++++++++++;;+++++++;;;;;;++++;;;;;;;+++++;++;;+++++++++;;;;;:::::.:::.:::::::;;;:;::::::::;x+
;::;::....::................::::::::::::::::::::::::::::;;;;;;+++++;+++++++++++++;;+++++++++++++;;;++++++++++++++++++++x+++++x++++++;;;::::.::;..::::::::;;::.:::::::;x+
++::;;::....:..................::::::::::::::::::::::::::;;;++++++++;+++++++x++;;+xx+xxxxxxxxxxxxxxx+;;;;+++++++++xx++xxxxxxxxxxxx+x++++;;;;;:.:;:::::.:::::.:..::::::::;+.
.;:::;;::....::..................:::::::::::::::::::::::;;+++++++++;++xxx+xxx+++xxxxxxxxxxxxxxxxxxxxxxxxx++;;;;;+xxxxxxxxxxxxxxxXxXxxxxx++;;;;;::;:::::..:.......:::::;::;+.
:;::::;:::........................:::::::::::::::::::::;;+++++++++;+++xxxxxxx;;+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+++++++++++xxxxXXXXXxXXXxXxx+++;++;;::::::::......::::::::::;:.
:x:::::::..........................::::::::::::::;;:::;;+++++++++;++xxxxxxxx++xxxxxxxxxxxxxxxxxxxxxXxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXxx+++;;;;::.:::::....::::::::::.;;+
x:::::::..........................::::::::;:::::::::;;;++++++++;+++xxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXxxxxxxxXXXXXXXXXXXXXXXXXXXXXXX$$$$$$XXXxx++;;::;;::::...::::::;:::::::;;:
X;.::::..........................::::;;::::::::::::;;++++++++++++xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$XXXx++;;;;;;::::::.:.::::.::::::;;+
.+..::::................::......:::;;;;;:::::.::;+++++++++++++++xxxxxxxxxxxxXXXXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$XXx++;;;;:::::::::.:::.::::::::;x
X:...::................::::..:::;;;;;+++;;;:;;;;;;+++++++++++xxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$XXx++++;:;;;:::::.::.::::;;:::;X
X:..::...............:::;;;;:::;+;;+++x++++;+++++++++++++++xxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$XXx++++;;;++::;::::::::::::::;+x
.;.:::....:........:::;;++xxx+;;;;++xxxxxxxxxx++xxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXxx++;;;++:::::;;:;::::::::;++
::::::.::.......:::;;;++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXx++++;x;;;:;;;::::::::::;;+x
:::::::::......:::;;;++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXxx++x++;;;;;;;;:::;:::::;;+;
;::::::::.::::::::;;++xxxxxxxxxxxxxxxxxxxxxxxxxxxxXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXxx++x+++;;;;;;:::;;:::;;;;++
+:::::;:.:::::::;;;++xxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXxxxx++;++;;;;;;;;;;;;;;;++:
:::::::::::::::;;+++xxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXxxxx++++;+;;;;;;:;;;;;;+x
::::;:::::::::::;+++xxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXxxx+++++++++++;+++;;;;;x;
::::;::::::::::;;+++xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$XXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXxx+++++++++++++++;+++;x.
::::;::::::::::;;++xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$XXX$XXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXXxxxxxXXXXXX$$$$$$$$$$$$$$$XXx+++++++x+++++x+;+++;x.
:::;;;:::::::::;;;+xxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$XXX$XX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XX$XXxxxxxxxxxxxxXxxXXXXXXX$$$$$$$$$$$Xx++++++++x++++++;;+++x
:::;;:;:::::::::;++xxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$XXXXX$X$$$$$$$$$$$$$$$$$$$XXXXXXxx++++++++++++xxxxxxxxxXXXXXXXXX$$$$$$$XX++;;++++;x+;+++;;+++x.
:::;;:::;:::::::;++xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXX$$$$XX$XXX$$X$$$$$$$$$$$$X$$$XXXxxx+;;;;;;;;;;;;;;++++xxxxxxxXXXXXXXXX$$$$$$$$X+;+++++;++++;+++;+++.
.;:;;;;;;::::::::;++xxxxxxxxxxxxxxxxx+++x+++++;++++++++xxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXX$X$$$$$$XXXXXXx+++;;;;;;;;;;;;;;++++++xxxxXX$$XXX$$XXXXXXX$$$$$$X++;+++;;;;+;++++;++x.
:+:;::;;;::::.:::+++xxxxxxxxxx++++++++++++;++++;;;;:::;;;;;;;;++xxxxxXXXXXXXXXXXXXXXX$X$XXXX$$XXXXXXx+++++;++;;;;;;++xxXXXXXX$XXX$$$$$$$$$$&$$$$$$$$$$$$X+;;;;;;;+;;;;+x+++++
+::::;;;::::..:;;++xxxxxxx+++++;;;;;;;;;;;;;:::::::::::;::::;;;;++xxxxXXXXXXXXXXXXXXXXXXXX$$XXXXxx++xxx+xxxxxxxxxXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$XX$$$$$$x;;;;;;;+;;;;;++++++
x::::;;;;:::...:;++xxxx+++;;;;;;;;;;;;;;;::::::::::::::::::::;;;;++++xxXXXXXXXXXXXXXX$$$$$XXXXXXxxXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$x;;;;;;;;;;;;;++++++..
+::.:;;;;;::...:;++xxx+++++++++++++;;;;;;;;;;;:;;;;;;;;;;;;;+++;;;;;+++xxXXXXXXXXXXXX$$$$$$$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$X;;;;::;;;;;;+++++++
.;::..;;;;;;:.:.:;++xx+;++xxxxxxxxxxxxxXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$XXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$X$$$$$$$$$$$$$$$$$$$$$$$+;;::;;;;;;+++;++++ .
::::.::;;;;;;.:.:++xxxxxxxxxXxxxxxxxxxxXXxxxxXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$XXXXXXXXXXXXXXXx+++xxXXXXXXXxxxxX$$$$$$$$$$$$$$$$$$$$$$$x+;;:;+;;;;++++++x
:.:::::;;;;;;::::;+xxxxxxxxxxxxxxxxxxxxxxxxxxXxxxxx+++++++++xxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$XXXXXXXXXXxx+++x++;;;::;;;++xX$$$XxxX$$$$$$$$$$$$$$$$$$$$;;;;:+;;;++++;+:. .
:.:::::;;;;;;:::;++xxxxxxxxxxxxxxxxxxxxx+++++;::::..::::;+++;;++++x+++++xxxxxXXXXXXXX$$$$$$$$$$$XXXXXXXXXXx+++++;:;;:::;+;;+x+;;;xXX$$XXX$$$$$$$$$$&&&&$$$$x;;;++;;+++;;;+.
:.::::::;;:;;:::;+xxxxxxxxxxxxxxxxxx+;+++;::::.;::..::;::;+;+++++++++++++xxxxXXXXXXXX$$$$$$$$$$XXXXXXXxxx+++++++;;+:..+;;xx+$$$$+;:+xX$$X$$$$$$$&&&&&&$$$$$X+;++;;;++;;;;;
:.::::::::::;:::++xxxxxxxxxxxxxxxx+;+++:::;+x;::;:..xx;;:+xx++;;++++++++++xxxxXXXXXXX$$$$$$$$$$XXXXXXXxx+++++xXx;+x:..x;;;x+$$$$XX++;+xX$$$$$$$&&&&&&&$$$$$$+x+;+++++;;;;+
;::::::::::;:::+xxxxxxxxxxxxxxxx+++;;::;+xxxx;;:;..:;;:;xxxxxx;;;++++++++xxxxxXXXXXXX$$$$$$$$XXXXXXXX+++++++xxx+;;+;;;;++;X$$$$XxxxxXxxXX$$$$$$&&&&&&&&$$$$x+:;++;++;;;+.
:;.::::::::::::;xxxxxxxxxxxxxxxxx++;:;;;;;;xxxx:::::::;;++++;;;;;;;++x++xxxxxxXXXXXXX$$$$$$$$$$XXXXXXx++;;;+++xxxx+;::;;;+XXxxXXXXX$$$XXX$$$$$$$$$$&&&&&$$$$X;++;++++;+X$
:+..:::::::::::+xxxxxxXXxxxxxxxx++++++++++++++++xxxxxx++++++++++xxxxxxx++xxxxxXXXXXXXX$$$$$$$$$XXXXXXXXxxxxxxxxxxxxxxxXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$&&$&$$$$X+;;::++x+xX$x .
+:..:::::.::::;+xxxxxXXXXXxxxxxx+xxxxxxxxxxxxxxx+xxxxxxxx++++++xxxxxx++xxxxxxxXXXXXXX$$$$$$$$$$$XXXXXXXXXxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$&&&&&$$$$$++;;;++XxxX$x.
::;:::::::::::;xxxxxxXxXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+++++++++++++++xxxxxxxxXXXXXXXX$$$$$$$$$$$XXXXXXxxxxxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$&&&$$&$$$$++;;:+xXxxX$x
.+x::::::::::;+xxxxXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx++++++xxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$XXXXxXXxXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$&&&&$$$$$&x;;;;xxXxxX$X
.+xx;:::::::::+xxxxxXXXXXXxxxxxxxxxxxXXXXXXXXxxxxxxxxxxxxxxxxxx+++xxxxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$$$XXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X+;;+x$&XxX$X
.+x+x;::;::::;+xxxxxxxXXXXXxxxxxXXxXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$$$$XXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X++++x$&$xX$$.
xx+;;::.::;+xxxxxxxxXXXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxXXXXXX$$$$$$$$$$$$$$$$$$$$$XXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&Xx+;+X$$&$X$X
xx+;;;;.::;+xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$XXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&Xx+;x$$$$$X$X
:x+;;:;.::;+xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxXxxxxxxxxxxxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$XXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&$$$$$&Xx+xX$$$$$X$X
xx+x:;::;;+xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$X$XXXXXXX$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&$$$$$XxxXXXX$$$$$X
;x+x;:::;;;xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&$$$$$$&$xxxxxxXX$$$$x
xxx+:::;;;xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&$$$&$$XxxxxxXX$$$$. .
xxx+:;:;;;+xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxXxxXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&$$&&&&&&&&&&&$$$$$$XxxxxxxxX$$$
+xxx;:;:;;+xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$$$$$$$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&$&$$&$xxxx+xxX$$$;
.xx+;;;;;;;+xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&$$$$$&Xx+xxX$$$$$$;
xxx+;;;:;;+xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxXXXXXXXXXX$$$$$$$$&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&$$&$&$xxxXX$$&$$$:
:xxxx+;;;;;xxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxXXXXXXXXX$$$$$$$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&$$$$&$xxxXX$$&&$$&.
.xxxxxx+;;;+xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxXxxxxXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&$$&&$$$$$XxX$$$&&&&$&x
.xxxxxx++;;xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxXXxxxxxxXXXXXXX$$$$$$$$$$$$$$$$$&$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&$$$$$$Xx$$&&&&&$&$
.xXxxXxX+;;+xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxXXXXx+:;xXxXXXXXXX$$$$$$x+::+X$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&$$&$$XxX$&&&&&&&&
xXxXXxXX;;xxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxXxx+;:..:xXxXXXXXX$$$X;:::::;xX$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&$$$$$$$$Xx$$$&&&&&&.
. XXxXXxxx;+xxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxx+;:::;+xXxXXXX$$$$$X+;:;;xX$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&$$$$$$$Xx$$$&&&&$
. +xXXXxX+;xxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxx+++xxxxxXXXXX$$$$$$$xxxxxX$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&$&$$$$$$$xx$X$$&&&
:xxxxxx;+xxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxXXXXXX$$$$$$$$XXX$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&$$$$$$$XXX&&$$&$.
.xxxxx++xxxxxXXXXXXXXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxx+xxxxxxxXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&$$$$$$XXX$$$&X.
.+xxx;xxxxxXXXXXXXXxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxXXXXXXXX$$$XX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&$$$$$$$$$XXX$Xx.
.+x++xxxxxxxxXXXXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&$$$$$$$$xX
++xxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXX$XX$$$$$$$$$$$$$$$$$$$$$$$$&$&$&&&&&&&&&&&&&$$$$$$$Xx;
+xxxxxxxxxXxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$&$$$$&&&&&&&&&&$&$$$$$$$Xx.
++xxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXxXXxxxxxxxxxxxxxxxxXXXXXXXxxxxXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$&&$&$$&&&&&&&$$$$$$&$$X$$Xx
;+xxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXxxxxXXxxxxxxxxxxxxxxxxxXXXXXXXxxxxxXXXXXXXXXXXXX$$$$$$$$$$$$XX$$$$$$$$&&&&&&&&&&$$$$&$$$X$$$XXxx
++xxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXxxxxxxxxXXXXXXXXXX$$$$$$$$XXXXXXXXX$$$$&&&&&&&&&&$$$$$$$$$$$$$$Xx.
++xxxxxxxxxxxxxxXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXxxxxxxxXXXXXXXXXXX$$$$$XXXXXXXXXXXXX$$$$&&&&&&$$$$$$$$$$$$$$$$$x+.
+;+xxxxxxxxxxxxxXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$XXXXXXXXXXXXXXXX$$$&&&$$$$$$$$$$$$$$$$$$XX+.
.++xxxxx+xxxxxxxxXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$XXXXx++xxXXX$$$$&$$$$$$$$$$$$$$$$$$$$$X+.
..++xxxxx++xxxxxxxxXXXXXXXXXXxxxx++++xxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXX$$$$Xx+;;;++++XXXX$$$$$$$$$$$$$$$$$$$$$$$$$Xx.
;+++x+++xxxxxxxxxxXXXXXXXXXxxx++;::::;++++++++x++x+++;;;++xxxxxxxXXXXXXXx+++xxxxxxxxxxx++xxxxxxxxxXXXX$$$$$$$$$$$$$$$$$$$$$X$XX;
++++++xxxxxxxxxxxxXXXXXXXXxxxxx++++;;++++++++++;;;;+++++++++;+++++++++++xxXXXXXXXXXXXxXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$XXXx;
.:++xxxxxxxxxxxxxxxxxXXXXXXXxxxxxxxxx++++xxxxxxxxxxxxxxxxxxxxxxxXxxxxxxxXXXXXXXXXXXXXX$$$$$XXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$XXXx:
+++xxxxxxxxxxxxxxxxXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXX$XXXXX$$$$$$$$$$$XXXXXX$$$$$$$$$$$$$$$$$$$$$$$$X
. +++xxxxxxxxxxxxxxxxxxXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$XXX$$$$$$$$$$$$$$$$$$$$$$$$$X;
. ;;++++xxxxxxxxxxxxxxxxxxXXXXXXXXXxXXXXxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X$$$$$$$$$$$$$$XXxx .
.+;+xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X$$$$$$$$$$$$Xxx
.:;+++xxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XX$$$$$$$$$$$$$$XXxx+ .
:++++xxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxxXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X$$$$$$$$X$$xxx:
.+;;+++xxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxxxXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$XXXXX$$$$$$$$$$XXxX&:
+x++++xxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXX$$:
;++;;+xxxxxxxxxxx++xxxxxxXXXXXXXXXXXXXXXXXXXXXXXxxxxxxxXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X$$$$$$+
++;+++xxxxxxxxxxx++xxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXXXX$$$$$$$$&$$$$&$:
xxxx+++xxxxxxxxx+++++xxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXXXX$XX$X$$$$$&$&&&&$;
xxxxxxx++xxxxxxx++++x+xxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXxXXXXXX$$$$$$$$$$$$$$$$$$$$$$$XXXXXXXXXXXXX$X$&$$$&&&&$&$:
xxxxxxxx+;++xxxx+++++xxxxxXXXXXXXXXXXXXXXXxxXXXXXXXxXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$X$XXxX$XXXXX$$&&&&&&&&&&$$:
xxxxxxxxxxxx+xx+++++++++++xxXXXXXXXXXXXXXXXxxxxxXXXXxxxxXXXXXXX$$$$$$$$$$$$$$$$$XXX$$XXxXxxxxXxX$&&&$&&&&&&&&$$:
xxxxxxxxXXxxxxx+++;;+++++xxxxxxxXXxXXXXXXXxxxxxxxxxxxxxxxxXXXXXXXX$$$$$$$$$X$$$$XxxX$$X$XxxxX$$$&$$&&&&&&&&$$$$x
xxxxxxxXXXXXxxxxx+;;++++xx++xxxxxxxXXxxxxxxxxxxxxxxxxxxxxXXXXXxXXXXXXXXXXXXXXXXXxxXXXXXxxxXX$&$&&$&&&&&&&&&$$&X.
xxxxxxxxxxXXxxxxxx+;;+++++++xxxxxxxxxxxxxxxxxxxxxxx+xx+xxxxXXXXXXXXXXXxxXXXXXxxXxxxxxxxx&&&&&&$$$&&&&&&&$&&$$&X.
xxxxxxxxxxxXXxXxxxx+;;;;;;++xxxxxx+xxxxxxxxxxxxxxxx++++xxxxXXXXXXXXXxxxxxxXXxxxxxxxx+xxX&&&&&&&&&&$$&$&&$&&&&&X;
xxxxxxxxxxXXXxxxxxxxx+;;;;;++xxxx++x++xxxxxxxxxxxx+++++xxxxXXXXXxxXXxx++xxxxxx+++xxxXX$&&&&&&&&&&$$&&$$$$&$$&&X;
xxxxxxxxxXXXXXXXXXXXXxx++:;:;+++x+++++++++xxxxxxx+++++x++xxxxxXXxxxxxxxxx++++++++x+X$$$$&&&&&&&&&&$$$$$$$$$&&$&X;
xxxxxxxxxxXXXXXXXXXXXXxxx+;:;;;+;;;++++++++++++++++++x++xxxxxxxxxxx+x+xx+xx+++xxX$$&&&&&&&&&$&&&&$$$$$$$$$$$$&x
;xxxxxxxxxXXXXXXXXXXXXXxxxx+;;;;;;;;;;++;+++++;++++++++++++xxxxxx++++++xx++xx+X$$&&&&$&&&&$&$$&&&&$$$$$&$$$$$&x.::;+: . .
;xxxxxxxxxxXXXXXXXXXXXXXXxxxxxx+;;;;;;;;;;;;;;+;;+;+;++++;;+x+++++;++;xXxxX$$$X&&&&&&&&&&&$$&&$$&&&$$$$&$$$$$&x.......:.:....
;xxxxxxxXXXXXXXXXXXXXXXXXXxXxxxxxx;:;;;;;;;;;;+;;;;+;+;;;;;+++++++xxXx$$$$$$$$&&&&&&&&&&&&$&&&&&&&&$$$$&&$$$$$$Xx:.....:.::.
+xxxxxxxXXXXXXXXXXXXXXXXXXXxxxxxxxxxx+;;;;x++;;+++++++xxxxxxXxXxXX$$X$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&$&$$$$$$$$$$XXXX+:..:::.: .
;xxxxxxxxXXXXXXXXXXXXXXXXXXXxXxxxXxXxxxxxxxxxxxxxxxxXXXXXXXXXXXXX$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$XXXXXXx:.::::::;:;:
.. +xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXxXXxXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&$$$$$$$$$$$$$XXXXXXXx:.::::::::;;+;
:::++xxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXxxxXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$XXXXx:.::::::;;;++xX:
;::..;xxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXxxxxXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$XXXXx;.:::;;;;;++xxXX$x
.:....;xxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXxxxxxxXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$&&&&&$&&&&&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XXX;::;;;;++++xxXXX$$$$+.
++;:::.:+xxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXxxxxXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$&&&$$$$$&&$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$XX+:;;;+++xxxxXXX$$$&&.
$Xxxx+++;;;+xxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXxXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$&&&&&&&$$$$$$$$$$$$$$$$$&$$$$$$$$$$$$$$XX+;;+++xxxxXXX$$$&&;.
;$$$XXXXxx+++xxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$X+;++xxxXXXX$$$$&$.
Malte Iwanicki
Greetings from Berlin!
I’m Malte Iwanicki, a senior software engineer with a focus on data processing, analyzing, and exploration.
Beyond my technical career, I completed a fine arts degree, which left me with a strong love for creativity and a passion for elegance.
My love for board games and puzzles reflects my problem-solving mindset, and I'm always curious about new challenges.
What I am good at:
Problem Solving
Creativity
Data Analysis
Data Science
Data Engineering
Data Preparation
Visualization
Backend Development
Prototyping
Projects
These are projects I worked on during my career as a freelancer or in a company:
Nanny Job Portal
2019: A platform connecting nannies and families. Including a webscraper and text classification
Photovoltaic Efficiency Calculator
2019: A webapp predicting solar panel efficiency based on the PV-values, the location and its past weather data.
Instagram Bot Portal
2018-2020: A webapp that lets clients automate several Instagram interactions like scheduled posting, follower communication, scripted platfrom interaction (liking, commenting, viewing, un-/following)
AI Investment Scraper
2020-2022: An AI solution to search the internet for public sustainable and ethical investments. Utilizing different search engines. Scraping html an pdf. Feature extraction. Predicting the expected risk and possible value
AI Text Classifier
2020-2022: A text classifier to identify customers problems and answer with the correct prewritten solution.
Cadastral-Data Platform
2022-2023: extending a webapp for cadastral data by adding multi-user ownership, asynchronous file handling and API extension.
Factory Performance
2022-2025: Planning, realizing, and maintaining an automatic tool to track materials in a factory based on robotic logs, providing a dashboard with useful production performance metrics. Identifying bottle necks in production. Supporting production with real-time suggestions
Traffic Image Recognition
2025: Recognizing vehicles and pedestrians in the streets of New York using traffic light cameras to notify the traffic light and increase safety
And others
Small 1-14 day projects with individual people, small companies or public service
These are public projects I worked on during my free time:
Contact
Feel free to reach out to me at malte.iwa@gmail.com .
Resume
You can get my full up-to-date resume here .
I am available for new positions from 7/1/2025 .
_