Added product functions for factors and a main program. Also added a __str__ function to factors that prints their table nicely