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: Encontre as 3 rotas mais longas para um armazém em NY com o menor número de devoluções.
 ###Tabelas: 
CREATE TABLE Routes (RouteID INT, OriginWarehouse INT, DestinationWarehouse INT, Distance FLOAT); INSERT INTO Routes (RouteID, OriginWarehouse, DestinationWarehouse, Distance) VALUES (1, 1, 2, 120.5), (2, 1, 3, 180.7), (3, 1, 4, 100.9); CREATE TABLE Returns (ReturnID INT, RouteID INT, ReturnDate DATETIME); INSERT INTO Returns (ReturnID, RouteID, ReturnDate) VALUES (1, 1, '2022-01-01 12:00:00'), (2, 2, '2022-01-03 10:00:00'), (3, 1, '2022-01-05 09:00:00'); CREATE TABLE Warehouses (WarehouseID INT, State VARCHAR(2)); INSERT INTO Warehouses (WarehouseID, State) VALUES (1, 'NY'), (2, 'NJ'), (3, 'PA'), (4, 'OH');
SELECT r.RouteID, r.Distance FROM Routes r JOIN Warehouses w ON r.OriginWarehouse = w.WarehouseID WHERE w.State = 'NY' AND r.RouteID NOT IN (SELECT r2.RouteID FROM Returns r2 JOIN Warehouses w2 ON r2.RouteID = w2.WarehouseID WHERE w2.State = 'NY') ORDER BY Distance DESC LIMIT 3;