Add Problem 12 (needs optimising)