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 PersonFriend (friend VARCHAR, name VARCHAR, year VARCHAR)
TABLE: CREATE TABLE PersonFriend (YEAR INTEGER, name VARCHAR)
TABLE: CREATE TABLE Person (age VARCHAR, name VARCHAR)

### Question ###
What is the age of the friend of Zach with longest year relationship?

### Accurate SQL ###

SELECT T1.age FROM Person AS T1 JOIN PersonFriend AS T2 ON T1.name = T2.friend WHERE T2.name = 'Zach' AND T2.year = (SELECT MAX(YEAR) FROM PersonFriend WHERE name = 'Zach')