https://www.zangdars.com/comprehensive-discrete-mathematics/