Copyright (C) 2008 Chebotarev Roman
