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 o maior número de estudantes internacionais, excluindo quaisquer programas com menos de 5 estudantes internacionais.
 ###Tabelas: 
CREATE TABLE graduate_programs (id INT, name TEXT, department TEXT); INSERT INTO graduate_programs (id, name, department) VALUES (1, 'MS in Computer Science', 'Computer Science'), (2, 'PhD in Physics', 'Physics'), (3, 'MA in History', 'History'), (4, 'MS in Mechanical Engineering', 'Mechanical Engineering'), (5, 'MA in Mathematics', 'Mathematics'); CREATE TABLE students (id INT, program_id INT, country TEXT); INSERT INTO students (id, program_id, country) VALUES (1, 1, 'USA'), (2, 1, 'India'), (3, 1, 'Canada'), (4, 2, 'Germany'), (5, 2, 'USA'), (6, 3, 'USA'), (7, 3, 'Mexico'), (8, 4, 'China'), (9, 4, 'USA'), (10, 4, 'Canada'), (11, 5, 'France'), (12, 5, 'Germany'), (13, 5, 'USA');
SELECT graduate_programs.name, COUNT(students.id) as num_international_students FROM graduate_programs INNER JOIN students ON graduate_programs.id = students.program_id WHERE students.country NOT IN ('USA') GROUP BY graduate_programs.name HAVING num_international_students >= 5 ORDER BY num_international_students DESC LIMIT 3;