Below is the list of tables from the database along with their columns and datatype. Need to generate an accurate SQL query for the question.
Only use the columns present in the respective table. Only use the columns which are required to generate the SQL query. Only use table joins if required and not otherwise.

### Tables ###
TABLE: CREATE TABLE table_name_40 ( first_elected INTEGER, results VARCHAR, incumbent VARCHAR )

### Question ###
What is the latest year for first elected with john hostettler as incumbent and a result of lost re-election democratic gain?

### Accurate SQL ###

SELECT MAX(first_elected) FROM table_name_40 WHERE results = "lost re-election democratic gain" AND incumbent = "john hostettler"