https://jython.pythonprogramminghelp.com/3-outrageous-joint-probability/