Beginning problem i.

This problem shuold be as simple as problem h. This commit
is the starting and background work for this problem.

[Assignment: 2 Problem: i]