I don't think that when taking an exam a teacher is actually a teach, they're a student taking the exam, and that person happens also to be a teacher (if that makes sense?) In other words the person takes the exam, who can be either a teacher, a student or staff. I think you're also confused there. Is a teacher staff? What data will go in those tables, or are they really all attributes of the person entity?
If we ignore what I said, I think you need a foreign key on the teacher table back to person, and the same for student, and staff. Then the exam would have three FKs for teacherid, studentid, and staffid. Those Ids would imply a person Id, the way you have it modelled. From a database design persective, that isn't very clean or clear. Think about changing it to a person takes and exam, then think about how much data is required that is not person data, but relates only to teacher, student, or staff - if there is data that isn't person data, then it is appropriate to have separate tables.
I saw another question like this earlier, so I'm guess that there is an assignment on for this ;)