School Catalogue

in the School catalog that I am working on I am on task 15 and I have copied the names into the array. but when I save i get an error saying undefined. But when I take off the static tag of the function it comes out ok. I understand the static tag. But in the solution and in the video the demonstrator uses the static tag and I am basically recreating the same code he does. Please help me to find why my code isn’t working with the static tag.
Thank you
Here is my code

class School{
  constructor (name,level,numberOfStudents){
    this._name = name;
      this._level = level;
      this._numberOfStudents = numberOfStudents;
  }
  get name (){
    return this._name;
  }
  get level (){
    return this._level;
  }
  get numberOfStudents(){
    return this._numberOfStudents;
  }
  set numberOfStudents(number){
    if(number.NaN){
      console.log('Invalid input: numberOfStudents must be set to a Number.');
    }
  }
  quickFacts(){
    console.log(`${this._name} educates ${this._numberOfStudents} at ${this._level}`);
  };
 static pickSubstituteTeacher(substituteTeachers){
    const randomInt = Math.floor(Math.random() * substituteTeachers.length);
    return substituteTeachers[randomInt];
  };
};

class PrimarySchool extends School{
  constructor(name, numberOfStudents, pickupPolicy){
    super(name, 'Primary', numberOfStudents);
    this._pickupPolicy = pickupPolicy;
  }
    get pickupPolicy(){
      return this._pickupPolicy;
    }
  static pickSubstituteTeacher(substituteTeachers){
    const randomInt = Math.floor(Math.random() * substituteTeachers.length);
    return substituteTeachers[randomInt];
  };
}

class High extends School{
  constructor(name, level, numberOfStudents, sportsTeams){
    super(name);
    super(numberOfStudents);
    this._level = High;
    this._sportsTeams = sportsTeams;
}
}

const lorraineHansbury = new PrimarySchool('Lorraine Hansbury', 514,'Students must be picked up by a parent, guardian, or a family member over the age of 13.');

lorraineHansbury.quickFacts();
lorraineHansbury.pickSubstituteTeacher['Jamal Crawford', 'Lou Williams', 'J. R. Smith', 'James Harden', 'Jason Terry', 'Manu Ginobli'];

console.log(lorraineHansbury.pickSubstituteTeacher(['Jamal Crawford', 'Lou Williams', 'J. R. Smith', 'James Harden', 'Jason Terry', 'Manu Ginobli']));

If you understand the static keyword and know what static methods are, why do you call the method on the instance (lorraineHansbury) while static methods should be called on the class (School)