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: Quem são os 5 principais agricultores homens no Brasil por participação total no programa de inovação agrícola?
 ###Tabelas: 
CREATE TABLE farmers(id INT, name TEXT, gender TEXT, country TEXT); INSERT INTO farmers(id, name, gender, country) VALUES (1, 'Joao', 'male', 'Brazil'); INSERT INTO farmers(id, name, gender, country) VALUES (2, 'Pedro', 'male', 'Brazil'); INSERT INTO farmers(id, name, gender, country) VALUES (3, 'Maria', 'female', 'Brazil'); CREATE TABLE programs(id INT, farmer_id INT, program TEXT); INSERT INTO programs(id, farmer_id, program) VALUES (1, 1, 'Precision Agriculture'); INSERT INTO programs(id, farmer_id, program) VALUES (2, 1, 'Smart Irrigation'); INSERT INTO programs(id, farmer_id, program) VALUES (3, 2, 'Precision Agriculture'); INSERT INTO programs(id, farmer_id, program) VALUES (4, 3, 'Modern Farming Techniques');
SELECT f.name, COUNT(p.program) as total_programs FROM farmers f INNER JOIN programs p ON f.id = p.farmer_id WHERE f.gender = 'male' AND f.country = 'Brazil' GROUP BY f.name ORDER BY total_programs DESC LIMIT 5;