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: Quais programas de preservação de idiomas receberam mais financiamento e de quais fontes?
 ###Tabelas: 
CREATE TABLE LanguagePreservation (id INT, program VARCHAR(255), funding_source VARCHAR(255), amount FLOAT); INSERT INTO LanguagePreservation (id, program, funding_source, amount) VALUES (1, 'Bilingual Education', 'Government Grant', 20000), (2, 'Language Immersion', 'Corporate Sponsorship', 15000), (3, 'Community Workshops', 'Private Donations', 10000);
SELECT funding_source, program, SUM(amount) FROM LanguagePreservation GROUP BY funding_source, program;