Done with Parts 1 and 2, made reusable code, not specified to given side lengths