The art of programming is the skill of controlling complexity. First, solve the problem. Then, write the code.