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: Identificar os 3 principais países doadores por ajuda monetária total aos países sul-americanos afetados por desastres naturais?
 ###Tabelas: 
CREATE TABLE donors (id INT, name TEXT); INSERT INTO donors (id, name) VALUES (1, 'USA'), (2, 'Canada'), (3, 'Brazil'), (4, 'Argentina'); CREATE TABLE donations (id INT, donor INT, country INT, amount FLOAT); INSERT INTO donations (id, donor, country, amount) VALUES (1, 1, 2, 1000), (2, 2, 3, 1500), (3, 1, 2, 750); CREATE TABLE countries (id INT, name TEXT, region TEXT); INSERT INTO countries (id, name, region) VALUES (2, 'Colombia', 'South America'), (3, 'Peru', 'South America');
SELECT d.name, SUM(donation.amount) as total_aid FROM donations donation JOIN donors d ON donation.donor = d.id JOIN countries c ON donation.country = c.id WHERE c.region = 'South America' GROUP BY d.name ORDER BY total_aid DESC LIMIT 3;