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 field ( fieldid int )
TABLE: CREATE TABLE paperfield ( fieldid int, paperid int )
TABLE: CREATE TABLE journal ( journalid int, journalname varchar )
TABLE: CREATE TABLE paperkeyphrase ( paperid int, keyphraseid int )
TABLE: CREATE TABLE keyphrase ( keyphraseid int, keyphrasename varchar )
TABLE: CREATE TABLE paperdataset ( paperid int, datasetid int )
TABLE: CREATE TABLE paper ( paperid int, title varchar, venueid int, year int, numciting int, numcitedby int, journalid int )
TABLE: CREATE TABLE author ( authorid int, authorname varchar )
TABLE: CREATE TABLE cite ( citingpaperid int, citedpaperid int )
TABLE: CREATE TABLE writes ( paperid int, authorid int )
TABLE: CREATE TABLE dataset ( datasetid int, datasetname varchar )
TABLE: CREATE TABLE venue ( venueid int, venuename varchar )

### Question ###
How many co-authors has Mark Steedman had ?

### Accurate SQL ###

SELECT DISTINCT COUNT(DISTINCT author.authorid) FROM author, writes WHERE author.authorname <> 'Mark Steedman' AND writes.authorid = author.authorid AND writes.paperid IN (SELECT WRITESalias1.paperid FROM author AS AUTHORalias1, writes AS WRITESalias1 WHERE AUTHORalias1.authorname = 'Mark Steedman' AND WRITESalias1.authorid = AUTHORalias1.authorid)