what is a lcm and a gcf?