{"id":171279,"date":"2013-03-04T15:33:03","date_gmt":"2013-03-04T11:33:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=171279"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=171279","title":{"rendered":"<span class=\"post_title\">\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u043a\u0443\u0440\u0441\u043d\u0438\u043a\u043e\u0432: \u043e\u043f\u044b\u0442 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044f<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c (\u0434\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439: \u044d\u0442\u043e\u0442 \u0442\u0435\u043a\u0441\u0442 &ndash; \u0447\u0430\u0441\u0442\u044c <a href=\"http:\/\/habrahabr.ru\/company\/surfingbird\/\">\u0431\u043b\u043e\u0433\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Surfingbird<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0433\u043e\u0434\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0430\u0445 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c). \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0435\u0442, \u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432. \u0412\u0440\u044f\u0434 \u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0443\u0437\u043d\u0430\u0435\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 \u043c\u043d\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u043e\u0433\u043e, \u043d\u043e \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0430\u043c\u0430 \u0438\u0434\u0435\u044f &ndash; \u043c\u043d\u043e\u0433\u0438\u0435 \u043b\u044e\u0434\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u00ab\u0438 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e\u00bb. \u0418\u0442\u0430\u043a\u2026<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h4>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h4>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0441\u0435\u043c\u0435\u0441\u0442\u0440\u0435 \u0443 \u043c\u0435\u043d\u044f \u043d\u0430\u0447\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: \u044f \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e <a href=\"http:\/\/logic.pdmi.ras.ru\/~sergey\/index.php?page=dmhse13\">\u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0443 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u043a\u0443\u0440\u0441\u043d\u0438\u043a\u043e\u0432<\/a> \u0432 \u043f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0441\u043a\u043e\u043c \u0444\u0438\u043b\u0438\u0430\u043b\u0435 \u0412\u044b\u0441\u0448\u0435\u0439 \u0428\u043a\u043e\u043b\u044b \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u043a\u0438; \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u044e \u044f \u0434\u0430\u0432\u043d\u043e, \u043d\u043e, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0440\u0430\u043d\u044c\u0448\u0435 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043c\u043b\u0430\u0434\u0448\u0435 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0433\u043e-\u043f\u044f\u0442\u043e\u0433\u043e \u043a\u0443\u0440\u0441\u0430. \u041f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u0430, \u0434\u0430 \u0438 \u0442\u043e \u043d\u0435\u043f\u043e\u043b\u043d\u043e\u0435 (\u043a\u0443\u0440\u0441 \u0435\u0449\u0451 \u0438\u0434\u0451\u0442), \u043d\u043e \u0440\u0435\u0447\u044c \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043e\u0431 \u044d\u0442\u043e\u043c.<\/p>\n<p>  \u0414\u0443\u043c\u0430\u044e, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043e\u0431\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u0445\u0430\u0431\u0440\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u043d\u044f\u0442, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u00ab\u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u043a\u0443\u0440\u0441\u043d\u0438\u043a\u043e\u0432\u00bb: \u043f\u0440\u043e\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430, \u043a\u043e\u043d\u044a\u044e\u043d\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0438 \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u044b, \u0431\u0430\u0437\u0438\u0441\u044b \u0431\u0443\u043b\u0435\u0432\u0441\u043a\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f, \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u044b\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0438\u2026 \u0412 \u043e\u0431\u0449\u0435\u043c, \u043d\u0438\u0447\u0435\u0433\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e, \u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0432\u0435\u0449\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043d\u0430\u0434\u043e \u043e\u0432\u043b\u0430\u0434\u0435\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0447\u043d\u043e, \u043d\u0430 \u043d\u0438\u0445 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043b\u044e\u0431\u043e\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435, \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u043d\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043e \u043d\u0438\u0445 \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u0442\u0430\u043d\u0435\u0442 \u043d\u0435\u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0440\u043e\u0441\u043a\u043e\u0448\u044c\u044e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u00ab\u043d\u0430\u0431\u0438\u0442\u044c \u0440\u0443\u043a\u0443\u00bb.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0444\u043e\u0440\u043c \u043e\u0442\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u00ab\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435\u00bb: \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u0438\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0434\u043e \u0440\u0435\u0448\u0430\u0442\u044c. \u0423 \u0442\u0430\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u044b \u043c\u043d\u043e\u0433\u043e \u043f\u043b\u044e\u0441\u043e\u0432: \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0438\u043c \u0442\u0435\u043c\u043f\u0435, \u044f \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043c\u043e\u0433\u0443 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u043e, \u0432\u0441\u0451 \u0432 \u043f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u0447\u0442\u043e \u0432\u0441\u0435\u0433\u0434\u0430 \u0443\u0434\u043e\u0431\u043d\u043e. \u041d\u043e \u0435\u0441\u0442\u044c \u0438 \u043c\u0438\u043d\u0443\u0441\u044b; \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043c\u0438\u043d\u0443\u0441 \u043f\u0440\u043e\u0441\u0442 &ndash; \u0442\u0440\u0443\u0434\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043d\u0430 \u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 (\u043d\u0430 \u043f\u043e\u0442\u043e\u043a\u0435 \u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0438 \u0435\u0441\u0442\u044c). \u0410 \u0435\u0441\u043b\u0438 \u0434\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443, \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0448\u044c \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u0432 \u0442\u0430\u043a\u043e\u0439 \u0431\u0430\u0437\u043e\u0432\u043e\u0439 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0435 \u00ab\u0445\u043e\u0434 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u00bb \u043d\u0435\u0440\u0435\u0434\u043a\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 (\u043a\u0430\u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0421\u0414\u041d\u0424 &ndash; \u043d\u0443 \u043a\u0430\u043a, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c&#8230;).<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0418\u0434\u0435\u044f \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0438 \u0432 \u0441\u0432\u043e\u044e \u0431\u044b\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u043c, \u043d\u0438 \u0432 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0437\u0434\u043d\u0435\u043c \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043e\u043f\u044b\u0442\u0435 \u044f \u0435\u0451 \u043d\u0438 \u0440\u0430\u0437\u0443 \u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b &ndash; \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u043f\u0438\u0448\u0443 \u044d\u0442\u043e\u0442 \u043f\u043e\u0441\u0442. \u042f \u043f\u0440\u0438\u0432\u0435\u0434\u0443 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c.<\/p>\n<h4>\u0428\u0430\u0431\u043b\u043e\u043d\u044b \u0432 .tex \u0438 boost::format<\/h4>\n<p>  \u0411\u0430\u0437\u043e\u0432\u0430\u044f \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u0430 &ndash; \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c LaTeX-\u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0443, \u0432 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430. \u0421\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e, \u043d\u0430 \u043a\u0430\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u043c\u043d\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0435\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438 \u043d\u0430 C++, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0438 \u0442\u0443\u0442 \u0431\u0443\u0434\u0443 \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0432 C++, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0437\u043d\u0430\u044e, &ndash; \u044d\u0442\u043e <a href=\"http:\/\/www.boost.org\/doc\/libs\/1_53_0\/libs\/format\/\">boost::format<\/a>: \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441 \u043f\u043b\u0435\u0439\u0441\u0445\u043e\u043b\u0434\u0435\u0440\u0430\u043c\u0438 \u0432\u0440\u043e\u0434\u0435 %1%, %2%, \u0438 \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0443\u0434\u0430 \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e (\u0443 boost::format \u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u043d\u0430\u043c \u043e\u043d\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f).<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0434\u0435\u043b\u0430\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u044b. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0431\u0449\u0438\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u00ab\u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0442\u043d\u043e\u0433\u043e LaTeX-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u00bb:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041d\u0435\u043c\u043d\u043e\u0436\u043a\u043e TeX&#39;\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"tex\">\\documentclass[a4paper]{article}  \\usepackage[utf8]{inputenc} \\usepackage{amsthm,amsmath,amsfonts, amssymb} \\usepackage[english,russian]{babel}  \\usepackage{concrete} \\usepackage{enumerate} \\usepackage{euler} \\usepackage{fullpage}  \\pagestyle{empty} \\selectlanguage{russian}  \\begin{document}  \\selectlanguage{russian}  %1%  \\end{document} <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u0442\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u044f &ndash; \u0435\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e %1%. \u042f \u0437\u0434\u0435\u0441\u044c, \u043a\u0430\u043a \u0438 \u043e\u0431\u0435\u0449\u0430\u043b, \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u0437\u0430\u0434\u0430\u0447\u043a\u0443: \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0431\u0443\u043b\u0435\u0432\u0441\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0435\u0451 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u0444\u043e\u0440\u043c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041d\u0435\u043c\u043d\u043e\u0436\u043a\u043e TeX&#39;\u0430<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"tex\">\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \\hfill %1%  \u0432\u0435\u0441\u043d\u0430 $2013$ \\hfill \u0433\u0440\u0443\u043f\u043f\u0430 %2%  \\section*{\u0414\u043e\u043c\u0430\u0448\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435}  \\begin{enumerate} \\item \u0414\u043b\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u043f\u0440\u043e\u043f\u043e\u0437\u0438\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 $$ \\varphi = %3%: $$ \\begin{enumerate}[(i)] \t\\item \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438; \t\\item \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0438\u0442\u0435 $\\varphi$ \u0432 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u044a\u044e\u043d\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u0438 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u0443\u044e \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u043e\u0440\u043c\u044b; \t\\item \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u0435 $\\varphi$ \u0432 \u0432\u0438\u0434\u0435 \u043f\u043e\u043b\u0438\u043d\u043e\u043c\u0430 \u0416\u0435\u0433\u0430\u043b\u043a\u0438\u043d\u0430; \t\\item $[\\ast]$ \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u0435 $\\varphi$ \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0448\u0442\u0440\u0438\u0445\u0430 \u0428\u0435\u0444\u0444\u0435\u0440\u0430 $x\\mid y = \\lnot(x\\land y)$. \\end{enumerate}  \\pagebreak <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0435\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c %3% (\u0432\u043c\u0435\u0441\u0442\u043e %1% \u0438 %2% \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0438\u043c\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430 \u0438 \u043d\u043e\u043c\u0435\u0440 \u0433\u0440\u0443\u043f\u043f\u044b). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u044b. \u0421\u0440\u0430\u0437\u0443 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e, \u0447\u0442\u043e \u044f \u043f\u043b\u043e\u0445\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442, \u0438 \u043a\u043e\u0434 \u043d\u0438\u0436\u0435 \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0441\u043f\u0430\u0433\u0435\u0442\u0442\u0438 &ndash; \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0441\u043e\u0432\u0435\u0442\u0443\u0435\u0442 \u0438\u0437\u044f\u0449\u043d\u044b\u0439 \u0440\u0435\u0444\u0430\u043a\u0442\u043e\u0440\u0438\u043d\u0433, \u0441\u043a\u0430\u0436\u0443 \u0441\u043f\u0430\u0441\u0438\u0431\u043e.<\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0434\u043e \u0437\u0430\u0432\u0435\u0441\u0442\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0432\u044f\u0437\u043a\u0438 \u0438 \u0442\u0438\u043f\u044b \u0443\u0437\u043b\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u0435; \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u044d\u0442\u043e \u043b\u0438\u0448\u043d\u0435\u0435, \u043d\u043e \u043c\u043d\u0435 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0449\u0451 \u0437\u0430\u0434\u0430\u0447\u043a\u0443 \u043f\u0440\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0430\u043b\u0433\u0435\u0431\u0440\u044b \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 (\u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u0430 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438), \u0438 \u043a\u043e\u0434 \u043f\u0440\u043e \u0434\u0435\u0440\u0435\u0432\u044c\u044f \u0444\u043e\u0440\u043c\u0443\u043b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0442 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">class Globals { public:     size_t TypesNo;     size_t VarType;     vector&lt;string&gt; TypesLatex;     vector&lt;size_t&gt; TypesArity;     boost::random::uniform_int_distribution&lt;&gt; RandomNodeType;     boost::random::uniform_int_distribution&lt;&gt; RandomNodeNoVar;     boost::random::uniform_int_distribution&lt;&gt; RandomNodeBinary;      size_t VarsNo;     vector&lt;string&gt; VarNames;     boost::random::uniform_int_distribution&lt;&gt; RandomVarType;     size_t current_varnum;      Globals(size_t types_num, vector&lt;string&gt; types_latex, vector&lt;size_t&gt; types_arity, size_t var_num, vector&lt;string&gt; var_names) :         TypesNo(types_num), VarType(types_num - 1), TypesLatex(types_latex), TypesArity(types_arity),         RandomNodeType(0, types_num - 1), RandomNodeNoVar(0, types_num - 2), RandomNodeBinary(0, types_num - 3),         VarsNo(var_num), VarNames(var_names), RandomVarType(0, var_num - 1), current_varnum(var_num - 1) {}      size_t get_next_var() {         current_varnum++;         if (current_varnum == VarsNo) current_varnum = 0;         return current_varnum;     } };  Globals GBoolean(7, \t\t\t\t{ &quot;\\\\land&quot;, &quot;\\\\lor&quot;, &quot;\\\\rightarrow&quot;, &quot;\\\\oplus&quot;, &quot;\\\\equiv&quot;, &quot;\\\\lnot&quot;, &quot;\\\\var&quot; }, \t\t\t\t{ 2, 2, 2, 2, 2, 1, 0 }, \t\t\t\t4, \t\t\t\t{ &quot;x&quot;, &quot;y&quot;, &quot;z&quot;, &quot;t&quot; }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u00ab\u044f\u0437\u044b\u043a \u0431\u0443\u043b\u0435\u0432\u0441\u043a\u0438\u0445 \u0444\u043e\u0440\u043c\u0443\u043b\u00bb, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u044f\u0442\u044c \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u0441\u0432\u044f\u0437\u043e\u043a (\u043a\u043e\u043d\u044a\u044e\u043d\u043a\u0446\u0438\u044f, \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0446\u0438\u044f, \u0438\u043c\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f, XOR \u0438 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c) \u0438 \u043e\u0434\u043d\u0430 \u0443\u043d\u0430\u0440\u043d\u0430\u044f (\u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435). \u0421\u0435\u0434\u044c\u043c\u043e\u0439 \u0442\u0438\u043f \u0443\u0437\u043b\u0430 &ndash; \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f, \u0443 \u043d\u0435\u0451 \u0430\u0440\u043d\u043e\u0441\u0442\u044c 0. \u0412 \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u043c \u0437\u0430\u0434\u0430\u043d\u0438\u0438 \u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043b\u0441\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430\u043c\u0438 \u0438\u0437 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445: \u043c\u0435\u043d\u044c\u0448\u0435 \u043c\u0430\u043b\u043e\u0432\u0430\u0442\u043e, \u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u043e. \u0421\u044e\u0434\u0430 \u0436\u0435 \u0443\u0434\u043e\u0431\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430 \u0443\u0437\u043b\u0430, \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439, \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043a\u0438 (\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u0438\u0437 <a href=\"http:\/\/www.boost.org\/doc\/libs\/1_53_0\/doc\/html\/boost_random.html\">boost::random<\/a> &ndash; \u043e\u043f\u044f\u0442\u044c \u0436\u0435, \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e; \u0445\u043e\u0442\u044c \u0442\u0430\u043c \u0438 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e, \u043d\u043e \u043d\u0430\u043c \u0441\u0435\u0439\u0447\u0430\u0441 \u043c\u043d\u043e\u0433\u043e \u0438 \u043d\u0435 \u043d\u0430\u0434\u043e).<\/p>\n<p>  \u0422\u0430\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043b\u0435\u0433\u043a\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0443\u043b \u0430\u043b\u0433\u0435\u0431\u0440\u044b \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432 (\u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f, \u0434\u0430\u043b\u044c\u0448\u0435 GSet \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442):<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">Globals GSet(5, \t\t\t{ &quot;\\\\cap&quot;, &quot;\\\\cup&quot;, &quot;\\\\triangle&quot;, &quot;\\\\overline&quot;, &quot;\\\\var&quot; }, \t\t\t{ 2, 2, 2, 1, 0 }, \t\t\t3, \t\t\t{ &quot;A&quot;, &quot;B&quot;, &quot;C&quot; }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043a\u043b\u0430\u0441\u0441 \u0444\u043e\u0440\u043c\u0443\u043b\u044b. \u0411\u0443\u043b\u0435\u0432\u0441\u043a\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430 &ndash; \u044d\u0442\u043e \u0434\u0435\u0440\u0435\u0432\u043e, \u043b\u0438\u0441\u0442\u044c\u044f\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043b\u0443\u0436\u0430\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c\u0438 \u0432\u0435\u0440\u0448\u0438\u043d\u0430\u043c\u0438 &ndash; \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0432\u044f\u0437\u043a\u0438. \u041c\u044b \u0445\u043e\u0442\u0438\u043c \u0443\u043c\u0435\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u0433\u043b\u0443\u0431\u0438\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c, \u043d\u0435 \u043f\u043e\u0440\u0430 \u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0443\u0437\u0435\u043b \u043b\u0438\u0441\u0442\u043e\u043c \u0438\u043b\u0438, \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043a\u043e\u0439. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0443\u0437\u0435\u043b, \u0431\u0443\u0434\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u0438\u043f g-&gt;TypesNo. \u0415\u0441\u043b\u0438 \u0443\u0437\u0435\u043b \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043b\u0438\u0441\u0442\u043e\u043c, \u0435\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e (\u0447\u0442\u043e\u0431\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043f\u0430\u043b\u0438 \u0432\u0441\u0435, \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0435\u0440\u0451\u043c \u0438\u0445 \u043f\u043e \u043a\u0440\u0443\u0433\u0443 &ndash; \u0444\u043e\u0440\u043c\u0443\u043b\u044b, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e).<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">class BNode { public:     Globals *glob;     size_t type;     size_t varnum;     BNode * left;     BNode * right;      BNode(Globals *g, size_t t, bool must_be_leaf = false, bool must_not_be_leaf = false, bool must_be_binary = false) : glob(g), type(t), left(NULL), right(NULL) {         if (t == g-&gt;TypesNo) { \/\/ this means we want a random node             type = must_be_leaf ? g-&gt;VarType                 : (must_be_binary ? g-&gt;RandomNodeBinary(gen)                     : (must_not_be_leaf ? g-&gt;RandomNodeNoVar(gen)                         : g-&gt;RandomNodeType(gen) ));         }         varnum = (type == g-&gt;VarType) ? g-&gt;get_next_var() : 0;     }      ~BNode() {         if (left != NULL) delete left;         if (right != NULL) delete right;     } }; <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043b\u0430\u0441\u0441 BNode. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u0434\u043b\u044f \u043d\u0430\u0441 &ndash; \u0447\u0442\u043e\u0431\u044b \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u0435\u0447\u0430\u0442\u0430\u043b\u0430\u0441\u044c \u0432 LaTeX:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">    string TypeString() const {         if (type == glob-&gt;VarType) return glob-&gt;VarNames[varnum];         return glob-&gt;TypesLatex[type];     }      string ToString() const {         if (glob-&gt;TypesArity[type] == 0) return TypeString();         if (glob-&gt;TypesArity[type] == 1) return TypeString() + &quot;{&quot; + left-&gt;ToString() + &quot;}&quot;;         return &quot;(&quot; + left-&gt;ToString() + &quot; &quot; + TypeString() + &quot; &quot; + right-&gt;ToString() + &quot;)&quot;;     } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u043c\u0435\u0442\u044c \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u043d\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">    bool get_truth_value(const vector&lt;bool&gt; & vals) {         switch(type) {             case 0: return left-&gt;get_truth_value(vals) && right-&gt;get_truth_value(vals); break;             case 1: return left-&gt;get_truth_value(vals) || right-&gt;get_truth_value(vals); break;             case 2: return (!left-&gt;get_truth_value(vals)) || right-&gt;get_truth_value(vals); break;             case 3: return left-&gt;get_truth_value(vals) != right-&gt;get_truth_value(vals); break;             case 4: return left-&gt;get_truth_value(vals) == right-&gt;get_truth_value(vals); break;             case 5: return !left-&gt;get_truth_value(vals); break;             case 6: return vals[varnum]; break;             default: return false; break;         }     } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041e\u0441\u0442\u0430\u0432\u0438\u043c \u043f\u043e\u043a\u0430 \u043a\u043b\u0430\u0441\u0441 BNode (\u043c\u044b \u043a \u043d\u0435\u043c\u0443 \u0435\u0449\u0451 \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f); \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b. \u0411\u0443\u0434\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 (\u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0433\u043b\u0443\u0431\u0438\u043d\u044b \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438 \u0440\u0430\u043d\u044c\u0448\u0435 \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440 \u043f\u043e\u043b\u0435 must_not_be_leaf):<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">BNode *generate_tree(Globals & g, size_t min_depth, size_t max_depth, bool must_be_binary = false) {     if (max_depth == 0) return NULL;     BNode *node = new BNode(&g, g.TypesNo, max_depth == 1, min_depth &gt; 0, must_be_binary);     if (g.TypesArity[node-&gt;type] == 1) {         node-&gt;left = generate_tree(g, min_depth, max_depth, true);     }     if (g.TypesArity[node-&gt;type] == 2) {         node-&gt;left = generate_tree(g, min_depth - 1, max_depth - 1);         node-&gt;right = generate_tree(g, min_depth - 1, max_depth - 1);     }     return node; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0422\u0443\u0442 \u0432\u0441\u0451 \u0441\u0430\u043c\u043e\u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e; \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u0438\u043d\u044f\u043b &ndash; \u0441\u0434\u0435\u043b\u0430\u043b \u0443\u043d\u0430\u0440\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0442.\u0435. \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u044f) \u00ab\u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u043c\u0438\u00bb, \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0434\u043b\u044f \u0433\u043b\u0443\u0431\u0438\u043d\u044b, \u0438\u043d\u0430\u0447\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u0438\u0441\u044c \u0431\u044b \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u0431\u0443\u043b\u0435\u0432\u0441\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0437\u0430\u043f\u0440\u0435\u0442\u0438\u0442\u044c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0432\u0430 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u044f \u043f\u043e\u0434\u0440\u044f\u0434, \u044d\u0442\u043e \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e; \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u0438 \u043d\u0443\u0436\u0435\u043d \u0431\u044b\u043b \u0444\u043b\u0430\u0433 must_be_binary \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435.<\/p>\n<p>  \u0418 \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0444\u0430\u0439\u043b\u0430 \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">void process_one_student_file_boolean(string dir, string fname,         boost::format & general_tmpl, boost::format & problem_tmpl, boost::format & solution_tmpl) {     BNode *node_bool;      ostringstream s;     vector&lt;string&gt; students = readAllLinesFromFile(dir + &quot;\/&quot; + fname + &quot;.txt&quot;);     cout &lt;&lt; &quot;\\t\u0413\u0440\u0443\u043f\u043f\u0430 &quot; &lt;&lt; fname &lt;&lt; endl;     for (size_t i=0; i&lt;students.size(); ++i) {         if (students[i].size() == 0) continue; \/\/ empty line         cout &lt;&lt; &quot;\\t\\t[ &quot; &lt;&lt; students[i] &lt;&lt; &quot; ]&quot; &lt;&lt; endl;         node_bool = generate_tree(GBoolean, 2, 4);         string group_string = &quot;$&quot; + fname + &quot;$&quot;;         s &lt;&lt; problem_tmpl % students[i] % group_string                           % node_bool-&gt;ToString();         delete node_bool;     }     ofstream ofs(dir + &quot;\/&quot; + fname + &quot;.tex&quot;);     ofs &lt;&lt; general_tmpl % s.str() &lt;&lt; endl;     ofs.close(); } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0430 \u0437\u0430\u0442\u0435\u043c \u0438 main, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u0442\u0430\u0435\u0442 \u0444\u0430\u0439\u043b\u044b \u0441 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0438\u0442 \u0444\u0430\u0439\u043b\u044b \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u0430\u043c\u0438 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">string students_dir = &quot;2013&quot;; vector&lt;string&gt; students_files = { &quot;BoTR&quot; };  int main(int argc, char *argv[]) {     boost::format boolean_tpml( read_file_as_string(&quot;boolean_problem_minimal.tex&quot;) );     boost::format general_tmpl( read_file_as_string(&quot;general_template.tex&quot;) );      for (size_t i = 0; i &lt; students_files.size(); ++i) {         process_one_student_file_boolean(students_dir, students_files[i], general_tmpl, boolean_tpml);     }      return 0; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041d\u043e \u043f\u043e\u0441\u0442\u043e\u0439\u0442\u0435, \u0441\u043b\u044b\u0448\u0443 \u044f \u0433\u043e\u043b\u043e\u0441 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f. \u0411\u0443\u0434\u0435\u0442 \u0436\u0435 \u0435\u0440\u0443\u043d\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c\u0441\u044f &ndash; \u043d\u0435\u0431\u043e\u0441\u044c, \u0434\u043e\u0431\u0440\u0430\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 \u0442\u0430\u043a \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0443\u043b \u043e\u043a\u0430\u0436\u0443\u0442\u0441\u044f \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438! \u0427\u0442\u043e \u0432\u0435\u0440\u043d\u043e, \u0442\u043e \u0432\u0435\u0440\u043d\u043e &ndash; \u043f\u0440\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u043d\u0435 \u0437\u043d\u0430\u044e, \u043d\u043e \u0434\u0430\u0436\u0435 \u043e\u0434\u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0432\u0438\u0434\u0430 \\varphi = x \u0438\u0437\u0440\u044f\u0434\u043d\u043e \u043f\u043e\u0434\u043c\u043e\u0447\u0438\u0442 \u0440\u0435\u043f\u0443\u0442\u0430\u0446\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u044d\u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u0441\u0447\u0438\u0442\u0430\u0435\u043c, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u044f\u0437\u043e\u043a \u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0435, \u0430 \u0441\u0432\u044f\u0437\u043a\u0438 &ndash; \u0445\u043e\u0442\u044f \u0431\u044b \u0434\u0432\u0435 \u0440\u0430\u0437\u043d\u044b\u0435. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 BNode \u043e\u0431\u0445\u043e\u0434 \u0444\u043e\u0440\u043c\u0443\u043b\u044b:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">    void depth_first(function&lt;void (const BNode * n)&gt; do_with_node) {         do_with_node(this);         if (left != NULL) left-&gt;depth_first(do_with_node);         if (right != NULL) right-&gt;depth_first(do_with_node);     } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0438 \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u043d\u0430 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0441\u0442\u044c:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">bool sanity_check(BNode * node) {     vector&lt;bool&gt; vars_present(node-&gt;glob-&gt;VarsNo, false);     vector&lt;bool&gt; connectors_present(node-&gt;glob-&gt;TypesNo, false);     node-&gt;depth_first([&] (const BNode * n) {         if (n-&gt;type == n-&gt;glob-&gt;VarType) {             vars_present[ n-&gt;varnum ] = true;         } else {             connectors_present[ n-&gt;type ] = true;         }     });     return all_of( vars_present.begin(), vars_present.end(), [](bool b) {return b;} ) &&            (accumulate(connectors_present.begin(), connectors_present.end(), 0) &gt; 2); } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0435\u0449\u0451 \u0437\u0430\u0445\u043e\u0442\u0435\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0430, \u0441\u043a\u0430\u0436\u0435\u043c, \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0439, \u043d\u043e \u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c &ndash; \u0435\u0441\u043b\u0438 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u043d\u0430 \u0432\u0438\u0434 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0432\u0434\u0440\u0443\u0433 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0442\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0439, \u0442\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u044d\u0442\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430. \u0410 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u0435 \u043f\u043e\u0434\u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0442\u0438\u043f\u0430 \u00abx \u0438\u043b\u0438 \u043d\u0435 x\u00bb \u0432 \u043d\u0430\u0448\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438, \u0430 \u043d\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e.<\/p>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0443\u044e\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0443 \u043d\u0430 \u0444\u0430\u0439\u043b\u0435 \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c .tex \u0444\u0430\u0439\u043b \u0441\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0430\u0434\u0435\u043a\u0432\u0430\u0442\u043d\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u044f\u043c\u0438 (\u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 <a href=\"http:\/\/logic.pdmi.ras.ru\/~sergey\/teaching\/hsedm13\/BoTR.minimal.pdf\">pdf, \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u0437 \u0442\u0430\u043a\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<\/a>).<\/p>\n<h4>\u0420\u0435\u0448\u0435\u043d\u0438\u044f<\/h4>\n<p>  \u0421\u043a\u0435\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0432\u043e\u0437\u0440\u0430\u0437\u0438\u0442: \u043d\u0443 \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0442\u044b \u043c\u043e\u0436\u0435\u0448\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c over 9000 \u0440\u0430\u0437\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u043d\u0438\u0439, \u043d\u043e \u0432\u0435\u0434\u044c \u0442\u044b \u0437\u0430\u043c\u0443\u0447\u0430\u0435\u0448\u044c\u0441\u044f \u0438\u0445 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c! \u0418 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 &ndash; \u0437\u0430\u043d\u044f\u0442\u0438\u0435 \u0434\u043b\u044f \u043e\u0447\u0435\u043d\u044c \u0441\u0438\u043b\u044c\u043d\u044b\u0445 \u0434\u0443\u0445\u043e\u043c \u043b\u044e\u0434\u0435\u0439, \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u044f \u0441\u0435\u0431\u044f \u043d\u0435 \u043e\u0442\u043d\u043e\u0448\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0448\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0443 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u043c\u043e\u0433\u043b\u0430 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438. \u0421\u043e\u0432\u0441\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f (\u0441\u0442\u0443\u0434\u0435\u043d\u0442\u044b \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u0441\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043e\u0442 \u0440\u0443\u043a\u0438), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u0430\u043c\u0443\u044e \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u044d\u0442\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<p>  \u0417\u0430\u0432\u043e\u0434\u0438\u043c \u0434\u0440\u0443\u0433\u043e\u0439 LaTeX-\u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">LaTeX-\u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"tex\">{\\footnotesize \\subsection*{%1%, \u0433\u0440\u0443\u043f\u043f\u0430 %2%}  \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u044b $%3%$: $$ %4% $$  } \\pagebreak  <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u042f, \u043e\u043f\u044f\u0442\u044c \u0436\u0435, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0443\u0441\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c &ndash; \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0439\u0442\u0438\u0441\u044c \u043f\u043e \u0432\u0441\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0438 \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 TeX&#8217;\u0435. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430 \u0432 \u043a\u043b\u0430\u0441\u0441 BNode:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">    bool increment_counter(vector&lt;bool&gt; & v) {         for (int i=v.size()-1; i&gt;=0; --i) {             if (!v[i]) {                 v[i] = true;                 for (size_t j=i+1; j&lt;v.size(); ++j) v[j] = false;                 return true;             }         }         return false;     }      string latex_truthtable() {         ostringstream os;         vector&lt;bool&gt; counter(glob-&gt;VarsNo, false);         os &lt;&lt; &quot;\\\\begin{array}{&quot;;         for(size_t i=0; i&lt;counter.size(); ++i) os &lt;&lt; 'c';         os &lt;&lt; &quot;|c}\\n&quot;;         for(size_t i=0; i&lt;counter.size(); ++i) os &lt;&lt; glob-&gt;VarNames[i] &lt;&lt; &quot; & &quot;;         os &lt;&lt; &quot; \\\\\\\\\\\\hline\\n&quot;;         do {             for(size_t i=0; i&lt;counter.size(); ++i) os &lt;&lt; counter[i] &lt;&lt; &quot; & &quot;;             os &lt;&lt; get_truth_value(counter) &lt;&lt; &quot;\\\\\\\\\\n&quot;;         } while (increment_counter(counter));         os &lt;&lt; &quot;\\\\end{array}\\n&quot;;         return os.str();     } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0430 \u0437\u0430\u0442\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u044d\u0442\u043e \u0432 process_one_student_file_boolean:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043d\u0430 C++<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">void process_one_student_file_boolean(string dir, string fname,         boost::format & general_tmpl, boost::format & problem_tmpl, boost::format & solution_tmpl) {     BNode *node_bool;      ostringstream s, ssolution;     vector&lt;string&gt; students = readAllLinesFromFile(dir + &quot;\/&quot; + fname + &quot;.txt&quot;);     cout &lt;&lt; &quot;\\t\u0413\u0440\u0443\u043f\u043f\u0430 &quot; &lt;&lt; fname &lt;&lt; endl;     for (size_t i=0; i&lt;students.size(); ++i) {         if (students[i].size() == 0) continue; \/\/ empty line         cout &lt;&lt; &quot;\\t\\t[ &quot; &lt;&lt; students[i] &lt;&lt; &quot; ]&quot; &lt;&lt; endl;         do {             node_bool = generate_tree(GBoolean, 2, 4);         } while (!sanity_check(node_bool));         string group_string = &quot;$&quot; + fname + &quot;$&quot;;         s &lt;&lt; problem_tmpl % students[i] % group_string                           % node_bool-&gt;ToString();         ssolution &lt;&lt; solution_tmpl % students[i] % group_string                           % node_bool-&gt;ToString() % node_bool-&gt;latex_truthtable();         delete node_bool;     }     ofstream ofs;     open_for_writing(dir + &quot;\/&quot; + fname + &quot;.tex&quot;, ofs);     ofs &lt;&lt; general_tmpl % s.str() &lt;&lt; endl;     ofs.close();          open_for_writing(dir + &quot;\/&quot; + fname + &quot;.sol.tex&quot;, ofs);     ofs &lt;&lt; general_tmpl % ssolution.str() &lt;&lt; endl;     ofs.close(); }  string students_dir = &quot;2013&quot;; vector&lt;string&gt; students_files = { &quot;BoTR&quot; };  int main(int argc, char *argv[]) {     boost::format boolean_tpml( read_file_as_string(&quot;boolean_problem_minimal.tex&quot;) );     boost::format solution_tpml( read_file_as_string(&quot;boolean_solution_minimal.tex&quot;) );     boost::format general_tmpl( read_file_as_string(&quot;general_template.tex&quot;) );      for (size_t i = 0; i &lt; students_files.size(); ++i) {         process_one_student_file_boolean(students_dir, students_files[i], general_tmpl, boolean_tpml, solution_tpml);     }      return 0; } <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432 \u043f\u0430\u0440\u0443 \u043a \u0444\u0430\u0439\u043b\u0443 \u0437\u0430\u0434\u0430\u043d\u0438\u0439 (<a href=\"http:\/\/logic.pdmi.ras.ru\/~sergey\/teaching\/hsedm13\/BoTR.minimal.pdf\">\u043f\u0440\u0438\u043c\u0435\u0440<\/a>) \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0435\u043c\u0443 \u0444\u0430\u0439\u043b \u0440\u0435\u0448\u0435\u043d\u0438\u0439 (<a href=\"http:\/\/logic.pdmi.ras.ru\/~sergey\/teaching\/hsedm13\/BoTR.minimal.sol.pdf\">\u0442\u043e\u0442 \u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/a>), \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043f\u0440\u043e\u0449\u0435.<\/p>\n<h4>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h4>\n<p>  \u0418 \u0432\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 &ndash; \u043f\u043e\u043b\u0434\u043d\u044f \u0440\u0430\u0431\u043e\u0442\u044b, \u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0433\u043e\u0434\u043d\u043e \u0437\u0430\u0434\u0430\u043d\u0438\u0439 \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438, \u0432\u0441\u0451 \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u043e \u0438 \u0433\u043e\u0442\u043e\u0432\u043e \u043a \u0432\u044b\u0434\u0430\u0447\u0435 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c. \u0415\u0441\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043a\u0430\u043a\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435, <a href=\"http:\/\/logic.pdmi.ras.ru\/~sergey\/teaching\/hsedm13\/BoTR.full.pdf\">\u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430<\/a>. \u0424\u0430\u0439\u043b \u0441 \u043e\u0442\u0432\u0435\u0442\u0430\u043c\u0438 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0447\u0442\u043e\u0431\u044b \u043b\u0438\u0448\u043d\u0438\u0439 \u0440\u0430\u0437 \u043d\u0435 \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c &ndash; \u043e\u043d\u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u043a\u0430\u043a \u0440\u0430\u0437 \u0440\u0435\u0448\u0430\u044e\u0442 \u044d\u0442\u043e \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435. \u0414\u0443\u043c\u0430\u044e, \u0435\u0441\u043b\u0438 \u043c\u043e\u0451 \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u043d\u0438\u0435 \u0432 \u0413\u0423-\u0412\u0428\u042d \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c\u0441\u044f, \u044d\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0430 \u043c\u043d\u0435 \u0435\u0449\u0451 \u043d\u0435 \u0440\u0430\u0437 \u043f\u043e\u0441\u043b\u0443\u0436\u0438\u0442; \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0439 \u0448\u0430\u043d\u0441 \u0435\u0451 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c &ndash; \u0431\u0438\u043b\u0435\u0442\u044b \u0434\u043b\u044f \u043f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u044d\u043a\u0437\u0430\u043c\u0435\u043d\u0430 \u0432 \u0442\u0435\u0445 \u0436\u0435 \u0433\u0440\u0443\u043f\u043f\u0430\u0445.<\/p>\n<p>  P.S. \u041a\u043e\u0433\u0434\u0430 \u044f \u0433\u043e\u0442\u043e\u0432\u0438\u043b \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0430 \u0445\u0430\u0431\u0440, \u044f \u043d\u0430\u0448\u0451\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u0430\u0433 \u0432 \u0441\u0432\u043e\u0451\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0435 \u0444\u043e\u0440\u043c\u0443\u043b; \u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435 \u0441\u0442\u0430\u043b. \u0423\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f: \u043a\u0430\u043a\u0438\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u043b\u043e\u0445\u043e\u0433\u043e \u043d\u0435\u0442\u0443, \u043c\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0440\u043e\u0434\u0438\u0442\u044c? (\u043f\u043e\u043c\u0438\u043c\u043e \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u044f \u0443\u0436\u0435 \u0434\u0435\u043b\u0430\u043b \u0432\u044b\u0448\u0435)    \t \t\t   \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/company\/surfingbird\/blog\/171279\/\"> http:\/\/habrahabr.ru\/company\/surfingbird\/blog\/171279\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442, \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u0441 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u043c (\u0434\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439: \u044d\u0442\u043e\u0442 \u0442\u0435\u043a\u0441\u0442 &ndash; \u0447\u0430\u0441\u0442\u044c <a href=\"http:\/\/habrahabr.ru\/company\/surfingbird\/\">\u0431\u043b\u043e\u0433\u0430 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Surfingbird<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0433\u043e\u0434\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0430\u0445 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043a \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c). \u0412 \u044d\u0442\u043e\u043c \u043f\u043e\u0441\u0442\u0435 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0435\u0442, \u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432. \u0412\u0440\u044f\u0434 \u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0443\u0437\u043d\u0430\u0435\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 \u043c\u043d\u043e\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u043e\u0432\u043e\u0433\u043e, \u043d\u043e \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0430\u043c\u0430 \u0438\u0434\u0435\u044f &ndash; \u043c\u043d\u043e\u0433\u0438\u0435 \u043b\u044e\u0434\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u00ab\u0438 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e\u00bb. \u0418\u0442\u0430\u043a\u2026<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-171279","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/171279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=171279"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/171279\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=171279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=171279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=171279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}