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 3 principais programas de pós-graduação com mais artigos publicados na área de "medicina" em ordem decrescente.
 ###Tabelas: 
CREATE TABLE graduate_programs (id INT, program VARCHAR(255), field VARCHAR(255)); INSERT INTO graduate_programs (id, program, field) VALUES (1, 'Program A', 'medicine'), (2, 'Program B', 'engineering'), (3, 'Program C', 'medicine'); CREATE TABLE published_papers (id INT, program_id INT, title VARCHAR(255), year INT); INSERT INTO published_papers (id, program_id, title, year) VALUES (1, 1, 'Paper 1', 2020), (2, 1, 'Paper 2', 2019), (3, 2, 'Paper 3', 2018), (4, 3, 'Paper 4', 2017), (5, 3, 'Paper 5', 2016);
SELECT gp.program, COUNT(pp.id) AS paper_count FROM graduate_programs gp INNER JOIN published_papers pp ON gp.id = pp.program_id WHERE gp.field = 'medicine' GROUP BY gp.program ORDER BY paper_count DESC LIMIT 3;