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_40906 ( "Block" text, "Launched" real, "Operational" real, "Not usable" real, "Retired" real, "Launch Failures" real )

### Question ###
What is the highest number of not usable satellites when there are more than 0 launch failures, less than 30 retired, and the block is I?

### Accurate SQL ###

SELECT MAX("Not usable") FROM table_40906 WHERE "Launch Failures" > '0' AND "Retired" < '30' AND "Block" = 'block i'