오셨어요 = 오 “come” + 시 (honorific) + ㅓㅆ (past) + 어 (plain) + 요 (polite)
Make the past tense of the Polite Form (see Verb styles) column 2) by inserting ㅆ어 before the 요 of the present Polite Form in column 2 of the table (so 먹어요 -> 먹었어요, 받아요 -> 받았어요, 줘요-> 줬어요, etc.).
Note what happens with honorific verbs ending in 시: 셨어요.
사실은 “in fact”. On its own 사실 means “a fact”, although further down you will also see it without 은 still meaning “in fact”.
작년 “last year”
그러세요 = 그헣다 그렇다 = “be/say so” + 시 (honorific) + ㅓ (plain) + 요 (polite)