The process of discovering new drugs is a time-consuming and expensive endeavor. Combinatorial chemistry and high-throughput screening are commonly used techniques in the drug discovery process to identify small molecules that bind to a protein and modify its biological function. The collection of all these molecules synthesized till today is known as the "known chemical space." As of 2015, around a hundred million small organic molecules have been prepared . However, this number is far less than what can be produced when considering only "drug-like" molecules. The chemical space for all molecules that follow Lipinski's rule-of-five for oral bioavailability has been estimated to be 10 60 . Even if we limit ourselves to only 30 atoms, the number drops to 10 20 -10 24 , which is still an incredibly vast quantity of molecules for practical use.