Sacrifice Problem

Look at the position in the following game board diagram. Figure out a checkmate for White in five moves, with a little help from Black. [Note: Black has other options for moving which would prevent the mate in five moves, but the problem is to spot the checkmate in five moves for White, and Black’s bad and blunder moves that help White gain the win! This problem is taken from one of my tournament games in which I planned this checkmate, but then forgot what I was doing, blundered badly myself, and lost by resignation!!!]

What if Black instead of moving to f7 on his 25th move to get out of check, Black moved to h8 – the only other move open to get out of the check by the Queen on g4?

In the review of this game with my chess coach, he opined that instead of moving to g4 and checking the Black King on my 25th move, a better move would have been to h5. If you review the lines possible from that move (not provided for analysis here), you may conclude that he was correct. However, to be fair, Fritz was not enamored by the sacrifice and if Black played correctly then White would lose the game according to Fritz. My intent of sacrificing both the Rook and Knight, which were Zwischenzug moves, was to try to throw Black off his game plan and perhaps cause him to blunder. Black did blunder, unfortunately I blundered back even worse giving Black the win.