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: Contar o número de táxis autônomos em 'Toronto' e 'Montreal' que foram fabricados antes de 2018?
 ###Tabelas: 
CREATE TABLE if not exists Manufacturers (id int, name text); INSERT INTO Manufacturers (id, name) VALUES (1, 'Tesla'), (2, 'Waymo'), (3, 'Uber'), (4, 'NVIDIA'); CREATE TABLE if not exists Vehicles (id int, type text, manufacturer_id int, is_autonomous boolean); INSERT INTO Vehicles (id, type, manufacturer_id, is_autonomous) VALUES (1, 'Taxi', 1, true), (2, 'Bus', 2, false), (3, 'Taxi', 3, true), (4, 'Truck', 4, false); CREATE TABLE if not exists Cities (id int, name text); INSERT INTO Cities (id, name) VALUES (1, 'Toronto'), (2, 'Montreal'), (3, 'New York'); CREATE TABLE if not exists ManufacturingDates (id int, vehicle_id int, year int); INSERT INTO ManufacturingDates (id, vehicle_id, year) VALUES (1, 1, 2017), (2, 1, 2018), (3, 2, 2015), (4, 3, 2019), (5, 4, 2016);
SELECT COUNT(*) FROM Vehicles JOIN ManufacturingDates ON Vehicles.id = ManufacturingDates.vehicle_id JOIN Cities ON Vehicles.id = Cities.id WHERE is_autonomous = true AND year < 2018 AND Cities.name IN ('Toronto', 'Montreal');