Please read the following table in Markdown format and then answer the question according to the table. Table cells in one row are seperated by '|', and different rows are seperated by '
'.

Table:
| Pos | No | Driver | Constructor | Laps | Time/Retired | Grid | Points |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | 5 | Fernando Alonso | Renault | 56 | 1:31:33.736 | 1 | 10 |
| 2 | 16 | Jarno Trulli | Toyota | 56 | +24.327 | 2 | 8 |
| 3 | 8 | Nick Heidfeld | Williams-BMW | 56 | +32.188 | 10 | 6 |
| 4 | 10 | Juan Pablo Montoya | McLaren-Mercedes | 56 | +41.631 | 11 | 5 |
| 5 | 17 | Ralf Schumacher | Toyota | 56 | +51.854 | 5 | 4 |
| 6 | 14 | David Coulthard | Red Bull-Cosworth | 56 | +1:12.543 | 8 | 3 |
| 7 | 1 | Michael Schumacher | Ferrari | 56 | +1:19.988 | 13 | 2 |
| 8 | 15 | Christian Klien | Red Bull-Cosworth | 56 | +1:20.835 | 7 | 1 |
| 9 | 9 | Kimi Räikkönen | McLaren-Mercedes | 56 | +1:21.580 | 6 |  |
| 10 | 12 | Felipe Massa | Sauber-Petronas | 55 | +1 Lap | 14 |  |
| 11 | 19 | Narain Karthikeyan | Jordan-Toyota | 54 | +2 Laps | 17 |  |
| 12 | 18 | Tiago Monteiro | Jordan-Toyota | 53 | +3 Laps | 18 |  |
| 13 | 21 | Christijan Albers | Minardi-Cosworth | 52 | +4 Laps | 19 |  |
| Ret | 2 | Rubens Barrichello | Ferrari | 49 | Handling | 12 |  |
| Ret | 6 | Giancarlo Fisichella | Renault | 36 | Collision | 3 |  |
| Ret | 7 | Mark Webber | Williams-BMW | 36 | Collision | 4 |  |
| Ret | 11 | Jacques Villeneuve | Sauber-Petronas | 26 | Spun Off | 16 |  |
| Ret | 3 | Jenson Button | BAR-Honda | 2 | Engine | 9 |  |
| Ret | 4 | Anthony Davidson | BAR-Honda | 2 | Engine | 15 |  |
| Ret | 20 | Patrick Friesacher | Minardi-Cosworth | 2 | Spun Off | 20 |  |
Question:
how many drivers ended the race early because of engine problems?
Answer:
2