https://ksml4.com/understanding-continuous-and-discontinuous-functions/