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: Qual é o motor para o participante da BMW Motorsport com 123 pontos antes de 2004?
 ###Tabelas: CREATE TABLE spacewalks (spacewalks_id AUTO_INCREMENT PRIMARY KEY, Spacecraft VARCHAR, Spacewalker VARCHAR, Start – UTC VARCHAR, End – UTC VARCHAR, Duration VARCHAR, Comments VARCHAR) CREATE TABLE ministers_without_portfolio (ministers_without_portfolio_id AUTO_INCREMENT PRIMARY KEY, Portfolio VARCHAR, Minister VARCHAR, Took office VARCHAR, Left office VARCHAR, Party VARCHAR) CREATE TABLE barangays (barangays_id AUTO_INCREMENT PRIMARY KEY, Barangay VARCHAR, Population (2000) INT, Population (2007) INT, Population (2010) INT, Barangay Fiesta VARCHAR) CREATE TABLE complete_american_le_mans_series_results (complete_american_le_mans_series_results_id AUTO_INCREMENT PRIMARY KEY, Year INT, Entrant VARCHAR, Class VARCHAR, Chassis VARCHAR, Engine VARCHAR, Tyres VARCHAR, Rank VARCHAR, Points INT) CREATE TABLE 2007_data (2007_data_id AUTO_INCREMENT PRIMARY KEY, Rank INT, Airport VARCHAR, Total Passengers INT, % Change 2006/2007 VARCHAR, International Passengers INT, Domestic Passengers INT, Transit Passengers INT, Aircraft Movements INT, Freight (Metric Tonnes) INT)  
SELECT Engine FROM complete_american_le_mans_series_results WHERE Year < 2004 AND Entrant = bmw motorsport AND Points = 123