Location: http://habrahabr.ru/blog/zadachki/24549.html