Find the names of customers who have bought by at least three distinct products.
select distinct t1.customer_name from customers as t1 join customer_orders as t2 on t1.customer_id = t2.customer_id join order_items as t3 on t2.order_id = t3.order_id group by t1.customer_id having count (distinct t3.product_id) >= 3