Source: https://www.zhangzk.net/docs/publications/2014snq.pdf