Aggravating Chinese Chess Problem

Well, a few of my friends and I here in China have been trying to get the solution to problem #51 on WeChat’s Chinese Chess “mini-program”. The aggravating part of it is that when we finally gave up on solving it ourselves, we used the nifty coins that accumulated from previous attempts. And, of course, the mini-program runs through all of the coins making every move from the start position. And finally saying, “You lose because you have caused the same situation to occur three times”.

So, now I’m curious, as my friends are, if there really is a solution. I think there is but we’re not bad at Xiangqi, just not super great either. Let’s see what the TM can come up with. Here’s the starting position, with Red to move and win.

Red General on E1
Red Advisor on F1
Red Chariot on G7
Red Horse on C8

Black General on F9
Black Advisor on E9
Black Horse on C10
Black Elephant on G10
Black Chariot on H8.

I’ve used algebraic notation with Point A1 being Red’s left-side Chariot’s home point.