The way the problem works started coming together in my head as I coded it. The code’s structure reflected the problem’s structure. I realized I previously misunderstood something about the problem statement. Later, I read someone saying many mathematicians got this problem wrong because of how it’s worded.
So, it may be challenging, not because probability was challenging, but because it was unclearly specified. That’s the cause of many software errors, too.