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 programas de apoio a deficientes mais caros por estado?
 ###Tabelas: 
CREATE TABLE StateDisabilityBudget (StateName VARCHAR(50), ProgramName VARCHAR(50), Budget NUMERIC(18,2)); INSERT INTO StateDisabilityBudget VALUES ('California', 'Disability Support Program 1', 500000.00), ('California', 'Disability Support Program 2', 750000.00), ('California', 'Disability Support Program 3', 900000.00), ('New York', 'Disability Support Program 1', 600000.00), ('New York', 'Disability Support Program 2', 800000.00), ('New York', 'Disability Support Program 3', 1000000.00);
SELECT StateName, ProgramName, Budget, ROW_NUMBER() OVER (PARTITION BY StateName ORDER BY Budget DESC) as Rank FROM StateDisabilityBudget WHERE Rank <= 3;