https://pypy.pythonprogramminghelp.com/5-surprising-mathematica/