By D. Ramsey (c) 1991,1993