Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Liste os nomes de todos os fornecedores que fornecem produtos para varejistas localizados tanto nos EUA quanto na Europa.
 ###Tabelas: 
CREATE TABLE suppliers (id INT, name TEXT, country TEXT); INSERT INTO suppliers (id, name, country) VALUES (1, 'Supplier A', 'USA'), (2, 'Supplier B', 'Germany'), (3, 'Supplier C', 'France'), (4, 'Supplier D', 'Italy'); CREATE TABLE supplier_products (supplier_id INT, product TEXT); INSERT INTO supplier_products (supplier_id, product) VALUES (1, 'Product X'), (2, 'Product Y'), (3, 'Product Z'), (4, 'Product W'); CREATE TABLE retailer_products (retailer_id INT, product TEXT); INSERT INTO retailer_products (retailer_id, product) VALUES (1, 'Product X'), (1, 'Product Y'), (2, 'Product X'), (2, 'Product Z'), (3, 'Product Y'), (3, 'Product W'); CREATE TABLE retailers (id INT, name TEXT, country TEXT); INSERT INTO retailers (id, name, country) VALUES (1, 'Retailer A', 'USA'), (2, 'Retailer B', 'Germany'), (3, 'Retailer C', 'France');
SELECT DISTINCT suppliers.name FROM suppliers INNER JOIN supplier_products ON suppliers.id = supplier_products.supplier_id INNER JOIN retailer_products ON supplier_products.product = retailer_products.product INNER JOIN retailers ON retailer_products.retailer_id = retailers.id WHERE retailers.country IN ('USA', 'Germany', 'France');