http://www.cnblogs.com/dartagnan/archive/2011/09/11/2173520.html http://www.inf.udec.cl/~leo/teoX.pdf