Let I be the incenter of ABC, BK the altitude. Easily <EBD=45, BE_|_CI, BD_|_AI, thus BE is bisector of <ABK, BD the bisector of <CBK, triangles BFE and BKE are congruent, and so are BGD and BKD, hence EK=EF ( 1 ), KD=DG ( 2 )and BF=BK=BG and BFHG ( 3 ) is a square. From (1), (2) we get FH+GH=p(DEH)=6, from (3) FH=3 and FG=3sqrt{2}.

A second way to prove BFHG was a square: by symmetry IE=IB=ID, I is the circumcenter of tr BED, thus <DIE=90, DIEH cyclic and <HID=<HED=<ACB ( 1 ). Since BIDC is cyclic, from (1) we infer B-I-H collinear, thus BFHG is a square.