This program is split into two different (but pretty similar) "challenges".