Disclaimer: All of these solutions are taken from somewhere else. I take credit for none of them. I didn't give out credit to any of them because there is no way to know which "author" is the actual one and some of them are straight up impossible to track thanks to anonymous ranking system in some websites.