2001 solution.
1991 solution.
1777 solution.