http://www.shuijs.com/vmpqmemq.html