Task: NL2SQL (source dataset: Spider)

Natural language to SQL, also known as NL2SQL, is the problem of generating a SQL query that can be executed on a input table, for a given natural language question.

You will be given an input table called "table" in the markdown format, as well as a question. Your task is to generate an SQL query that can be executed on the input table to answer the question.

Please ensure that the generated SQL only return relevant columns being specifically asked in the question (e.g., in SQL please don't return more than one columns in SELECT if only one column is needed to answer the given question, and similarly please refrain from using SELECT * unless the entire row is needed to answer the question).
 
When generating SQL code, please use the SQLite syntax to ensure that your SQL is executable on SQLite3. Use only columns that are present in the table, always use quotes around your column and table names (some column names have punctuation or special characters), and refer to the columns using the column-names exactly as they appear in the table, do not add or remove punctuation (underscore, slash, etc.)

No explanation, return the code only with the following markdown codeblock format : ```sql<SQL CODE>```. For example, ```sql
SELECT * FROM "table"
``` is a valid format.

Database:
car_road_race

Tables:

Table: driver
|   Driver_ID | Driver_Name                 | Entrant                    | Constructor   | Chassis             | Engine   |   Age |
|------------:|:----------------------------|:---------------------------|:--------------|:--------------------|:---------|------:|
|           1 | Ernst-Günther Burggaller    | German Bugatti Team        | Bugatti       | Bugatti T35B        | 2.3 L8   |    18 |
|           2 | Hermann zu Leiningen        | German Bugatti Team        | Bugatti       | Bugatti T35C        | 2.0 L8   |    20 |
|           3 | Heinrich-Joachim von Morgen | German Bugatti Team        | Bugatti       | Bugatti T35B        | 2.3 L8   |    23 |
|           4 | Rudolf Caracciola           | Private entry              | Mercedes-Benz | Mercedes-Benz SSK L | 7.1 L6   |    24 |
|           5 | Earl Howe                   | Private entry              | Bugatti       | Bugatti T51         | 2.3 L8   |    26 |
|           6 | Clifton Penn-Hughes         | Private entry              | Bugatti       | Bugatti T35         | 2.0 L8   |    21 |
|           7 | Henry Birkin                | Private entry              | Maserati      | Maserati 26M        | 2.5 L8   |    28 |
|           8 | Bernhard Ackerl             | Private entry              | Bugatti       | Bugatti T37         | 1.5 L4   |    29 |
|           9 | Juan Zanelli                | Private entry              | Bugatti       | Bugatti T35B        | 2.3 L8   |    26 |
|          10 | Guy Bouriat                 | Automobiles Ettore Bugatti | Bugatti       | Bugatti T51         | 2.3 L8   |    28 |


Table: race
|   Road |   Driver_ID | Race_Name                                | Pole_Position     | Fastest_Lap        | Winning_driver     | Winning_team              | Report   |
|-------:|------------:|:-----------------------------------------|:------------------|:-------------------|:-------------------|:--------------------------|:---------|
|      2 |           1 | Monterey Festival of Speed               | James Hinchcliffe | Douglas Soares     | James Hinchcliffe  | Forsythe Pettit Racing    | Report   |
|      3 |           2 | Sommet des Legends                       | Junior Strous     | Junior Strous      | Junior Strous      | Condor Motorsports        | Report   |
|      4 |           1 | Rexall Grand Prix of Edmonton - Race 1   | James Hinchcliffe | David Garza Pérez  | Jonathan Bomarito  | Mathiasen Motorsports     | Report   |
|      5 |           3 | Rexall Grand Prix of Edmonton - Race 2   | Carl Skerlong     | Carl Skerlong      | Jonathan Summerton | Newman Wachs Racing       | Report   |
|      6 |           4 | Road Race Showcase/Road America - Race 1 | Dane Cameron      | Tõnis Kasemets     | Jonathan Bomarito  | Mathiasen Motorsports     | Report   |
|      7 |           9 | Road Race Showcase/Road America - Race 2 | Jonathan Bomarito | Dane Cameron       | Jonathan Summerton | Newman Wachs Racing       | Report   |
|      8 |          10 | Grand Prix de Trois-Rivières             | Jonathan Bomarito | Jonathan Summerton | Jonathan Bomarito  | Mathiasen Motorsports     | Report   |
|      9 |           1 | Mazda Formula Zoom Zoom                  | Carl Skerlong     | Carl Skerlong      | Carl Skerlong      | Pacific Coast Motorsports | Report   |
|     10 |           2 | SunRichGourmet.com 1000                  | Markus Niemelä    | Carl Skerlong      | Markus Niemelä     | Brooks Associates Racing  | Report   |


Question: How many different engines are used by drivers with age older than 30 or younger than 20?

db_id: car_road_race
tables: name: driver
data: driver.csv
name: race
data: race.csv
label: SELECT count(DISTINCT Engine) FROM driver WHERE Age  >  30 OR Age  <  20
sqlite_path: $MMTU_HOME/data_sqlite/spider/spider_data/test_database/car_road_race/car_road_race.sqlite