The Advent of Code website runs an annual programming contest of fifty problems, two per day for the first 25 days of December. The daily problems are linked; the second problem is a more complicated version of the first problem. You have to be participating in the contest to see the second problem, which is only available after you've correctly solved the first problem.