Complete 16
Done with euler for now
Optimize 16