https://www.financewarm.com/2019/07/numerical-probability-introduction-with.html