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 dorm ( dormid number, dorm_name text, student_capacity number, gender text )
TABLE: CREATE TABLE has_amenity ( dormid number, amenid number )
TABLE: CREATE TABLE lives_in ( stuid number, dormid number, room_number number )
TABLE: CREATE TABLE student ( stuid number, lname text, fname text, age number, sex text, major number, advisor number, city_code text )
TABLE: CREATE TABLE dorm_amenity ( amenid number, amenity_name text )

### Question ###
What are the first names of all students who live in the dorm with the most amenities?

### Accurate SQL ###

SELECT T1.fname FROM student AS T1 JOIN lives_in AS T2 ON T1.stuid = T2.stuid WHERE T2.dormid IN (SELECT T2.dormid FROM dorm AS T3 JOIN has_amenity AS T4 ON T3.dormid = T4.dormid JOIN dorm_amenity AS T5 ON T4.amenid = T5.amenid GROUP BY T3.dormid ORDER BY COUNT(*) DESC LIMIT 1)