Source: https://intranet.cb.amrita.edu/sites/default/files/3.1%20Strings.pdf