http://www.rsdn.ru/forum/dictionary/3795948.flat.aspx