{"id":188852,"date":"2013-08-04T21:13:02","date_gmt":"2013-08-04T17:13:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=188852"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=188852","title":{"rendered":"<span class=\"post_title\">\u041c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u043e\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u041d\u0430 \u0445\u0430\u0431\u0440\u0435 \u043c\u0435\u0441\u044f\u0447\u043d\u0438\u043a \u043a\u0432\u0430\u0439\u043d\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u043b \u0435\u0449\u0451 \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434.<\/p>\n<p>  \u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0430, \u043d\u043e\u2026<br \/>  \u041f\u0440\u0438 \u0432\u0437\u0433\u043b\u044f\u0434\u0435 \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u043f\u043e\u0440\u0446\u0438\u044e \u00ab\u043f\u043e\u043c\u0435\u0445 \u043d\u0430 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u0444\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438\u00bb, \u0443 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043b\u0438\u0448\u044c \u0438\u0437\u0443\u043c\u043b\u0435\u043d\u0438\u0435: \u00ab\u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u00bb, \u0438 \u00ab\u043a\u0435\u043c \u0431\u044b\u043b \u0442\u043e\u0442 \u0441\u0443\u043c\u0440\u0430\u0447\u043d\u044b\u0439 \u0442\u0435\u0432\u0442\u043e\u043d\u0441\u043a\u0438\u0439 \u0433\u0435\u043d\u0438\u0439\u00bb.<br \/>  \u042f \u0445\u043e\u0447\u0443 \u0441\u043e\u0440\u0432\u0430\u0442\u044c \u043f\u043e\u043a\u0440\u043e\u0432\u044b \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d \u043b\u044e\u0431\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0430\u0439\u0442\u0441\u043f\u0435\u0439\u0441 \u0438 \u0431\u0440\u0435\u0439\u043d\u0444\u0430\u043a.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u043a\u0430\u043a \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u0424\u0443\u043d\u043a\u0446\u0438\u0438<\/h4>\n<p>  \u041a\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c?<br \/>  \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u044d\u0442\u043e <b>\u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440<\/b>: \u043e\u043d \u0431\u0435\u0440\u0451\u0442 \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442, \u2014 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442 \u0441\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430.<br \/>  \u041d\u0430\u0437\u043e\u0432\u0451\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043f\u0440\u043e\u0441\u0442\u043e: <b>RUN<\/b>.<br \/>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c, \u0442\u043e, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0446\u0435\u043b\u043e\u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e: RUNpython, RUNc, RUNbrainfuck\u2026<br \/>  \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u044d\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u043e-\u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u043d\u043e \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u2014 \u043d\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u043e\u043b\u043d\u043e\u0432\u0430\u0442\u044c. \u0412\u0435\u0434\u044c \u043c\u044b \u043d\u0435 \u043f\u0438\u0448\u0435\u043c \u0441\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430, \u0430 \u0442\u0435\u043c \u0431\u043e\u043b\u0435\u0435, \u043d\u0430 \u044d\u0442\u043e\u043c \u0436\u0435 \u044f\u0437\u044b\u043a\u0435.<br \/>  \u0412\u043e\u043e\u0431\u0449\u0435, \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0443 \u043d\u0430\u0441 \u0432 \u0433\u043e\u043b\u043e\u0432\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0440\u0435\u0448\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0432\u0430\u0436\u043d\u043e\u0435 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u2014 \u044d\u0442\u043e <b>\u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b<\/b> \u0438 <b>\u043b\u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b<\/b>. \u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0431\u0435\u0440\u0451\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442 \u0432 \u043d\u0435\u0439 \u0441\u043f\u0435\u0446\u0441\u0438\u043c\u0432\u043e\u043b\u044b, \u0430 \u043f\u043e\u0442\u043e\u043c \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0431\u0440\u0430\u043c\u043b\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043a\u0430\u0432\u044b\u0447\u043a\u0430\u043c\u0438.<br \/>  L x = qopen + D x + qclose<br \/>  \u0412\u0430\u0436\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u2014 \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u043a\u043e\u043d\u043a\u0430\u0442\u0435\u043d\u0430\u0446\u0438\u0438) \u0441\u0442\u0440\u043e\u043a: E (x+y) = Ex + Ey.<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u0441\u0440\u0430\u0437\u0443 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c\u0441\u044f: \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u043f\u0438\u0441\u0438, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0431\u0443\u043a\u0432\u0430\u043c\u0438, \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c\u0438, Fx \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 F \u043a x, FGx \u2014 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 F \u043a Gx, \u0438\u043b\u0438, \u0447\u0442\u043e \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 FG \u043a x.<\/p>\n<h4>\u041a\u0432\u0430\u0439\u043d\u044b<\/h4>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043a\u0432\u0430\u0439\u043d \u043d\u0430 \u0421\u0438,  <\/p>\n<pre><code class=\"cpp\">char*f=&quot;char*f=%c%s%c;main(){printf(f,34,f,34,10);}%c&quot;;main(){printf(f,34,f,34,10);} <\/code><\/pre>\n<p>  \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u043c \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d. \u0417\u0434\u0435\u0441\u044c \u0434\u0432\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u2014 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043a\u0430\u043a \u0442\u0435\u043a\u0441\u0442 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0430\u0437 \u2014 \u043a\u0430\u043a \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u043b\u0438\u0442\u0435\u0440\u0430\u043b.<\/p>\n<p>  \u0422\u0430\u043a \u0438 \u0437\u0430\u043f\u0438\u0448\u0435\u043c: <code>quine = a + b + Ea + c + Ee + d + e<\/code><\/p>\n<p>  \u0422\u043e\u0447\u043d\u043e \u043f\u043e \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441\u0445\u0435\u043c\u0435 \u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043a\u0432\u0430\u0439\u043d \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435:  <\/p>\n<pre><code class=\"python\">s1,s2 = 's1,s2 = ', &quot;\\nprint s1+repr(s1)+', '+repr(s2)+s2&quot; print s1+repr(s1)+', '+repr(s2)+s2 <\/code><\/pre>\n<p>  \u0418\u043b\u0438, \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u0438 \u043c\u043d\u043e\u0433\u043e\u0441\u043b\u043e\u0432\u043d\u043e:  <\/p>\n<pre><code class=\"python\"># this is quine s1 = '# this is quine' s2 = 'print s1\\nprint &quot;s1=&quot;+repr(s1)\\nprint &quot;s2=&quot;+repr(s2)\\nprint s2' print s1 print &quot;s1=&quot;+repr(s1) print &quot;s2=&quot;+repr(s2) print s2 <\/code><\/pre>\n<p>  \u041f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438 a \u0438 e \u2014 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435, \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u0440\u0435\u0430\u043b\u044c\u043d\u043e \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e; \u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438 b,c,d \u2014 \u043a\u043b\u0435\u0439, \u043e\u0431\u044b\u0447\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u043a\u0430\u0432\u044b\u0447\u0435\u043a, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043a\u0430\u0440\u0435\u0442\u043a\u0438 \u0438 \u0442.\u00a0\u043f.<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438 \u043e \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438. \u0422\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0431\u044b\u0432\u0430\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0430 \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0441\u0442\u0440\u043e\u043a. \u0412 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0441\u044c \u043a \u044d\u0442\u043e\u043c\u0443, \u0438 \u043f\u043e\u043a\u0430\u0436\u0443 \u043f\u0430\u0440\u0443 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u0430\u043c\u0438.<br \/>  \u0410 \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u043a\u0432\u0430\u0439\u043d\u0443.<br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f RUN \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0434\u043b\u044f \u043a\u0432\u0430\u0439\u043d\u0430: <code>RUN quine = quine<\/code>.<br \/>  \u0422\u043e \u0435\u0441\u0442\u044c, \u043a\u0432\u0430\u0439\u043d \u2014 \u044d\u0442\u043e \u043d\u0435\u043f\u043e\u0434\u0432\u0438\u0436\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 RUN.<br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043e\u0431\u043e\u0431\u0449\u0438\u043c \u043a\u0432\u0430\u0439\u043d. \u0427\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043c\u0441\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438?  <\/p>\n<pre><code class=\"haskell\">Q(F,f,g,h,i,j) = a + b + Ef + c + Ej + d + e -- \u0433\u0434\u0435 a,b,c,d,e \u043a\u0430\u043a-\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u044f\u0442 (\u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442) F \u0438 g,h,i. RUN Q(F,f,g,h,i,j) = f + g + Ff + h + Fj + i + j <\/code><\/pre>\n<p>  \u041d\u0430 \u0442\u043e\u043c \u0436\u0435 \u043f\u0438\u0442\u043e\u043d\u0435:  <\/p>\n<pre><code class=\"python\"># this is Q def F(s) :     ''' \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u044e\u0434\u0430 \u043a\u043e\u0434 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 F \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 ''' s1 = 'Ef' s2 = 'Ej' print s1 + 'Eg' + F(s1) + 'Eh' + F(s2) + 'Ei' + s2 # \u0433\u0434\u0435 Ef, Eg, Eh, Ei, Ej \u2014 \u044d\u043a\u0440\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438-\u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b <\/code><\/pre>\n<p>  \u041a\u0432\u0430\u0439\u043d \u2014 \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438: <code>RUN Q(F,f,g,h,i,j) = Q(F,f,g,h,i,j)<\/code>  <\/p>\n<pre><code class=\"haskell\">RUN Q(F,f,g,h,i,j) = f + b + Ff + c + Fj + d + e     Q(F,f,g,h,i,j) = a + b + Ff + c + Ej + d + e <\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0443\u0434\u0430 F=E, \u0442.\u00a0\u0435. \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u0435\u043a\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u0434\u0435\u043a\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c \u044f\u0437\u044b\u043a\u0430; \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0442\u0435\u043a\u0441\u0442\u0430 \u2014 \u044f\u0441\u043d\u043e, \u0447\u0442\u043e \u0441 \u0447\u0435\u043c \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442.<\/p>\n<p>  \u0415\u0449\u0451 \u043e\u0434\u043d\u043e \u043e\u0442\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435: \u0434\u0430\u0436\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0438 \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0437\u043d\u044b\u043c\u0438. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0432\u0438\u0434\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0447\u0438\u0441\u0435\u043b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440.<br \/>  \u0422\u043e\u0433\u0434\u0430 \u0432\u044b\u0432\u043e\u0434 \u00ab\u0441\u0442\u0440\u043e\u043a\u0438\u00bb 104, 97, 98, 114 \u2014 \u044d\u0442\u043e print &#187;.join(map(chr),xs), \u0430 \u0432\u044b\u0432\u043e\u0434 \u0432 \u0434\u0435\u043a\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u2014 \u044d\u0442\u043e print &#8216;,&#8217;.join(map(str),xs).<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0444\u0443\u043d\u043a\u0446\u0438\u0438 RUN \u0438 Q \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b \u043d\u0430\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 (Q \u2014 \u0432\u043e\u043e\u0431\u0449\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u0430\u044f \u043d\u0430\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439), \u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0445 \u043b\u0435\u0436\u0438\u0442 \u0432\u043d\u0435 \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u043a\u0432\u0430\u0439\u043d. \u0422\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u044f E \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430, \u043a\u0430\u043a \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u043c \u044f\u0437\u044b\u043a\u0435!<\/p>\n<h4>\u041f\u0440\u0438\u043d\u0442\u0435\u0440\u044b<\/h4>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0435\u0449\u0451 \u043e\u0434\u043d\u0443, \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u042d\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442.  <\/p>\n<pre><code class=\"haskell\">printer = p + Sq + r RUN printer = q <\/code><\/pre>\n<p>  \u0433\u0434\u0435 S \u2014 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u0435\u043a\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0441\u0442\u0430.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u0438\u043d\u0442\u0435\u0440 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e:  <\/p>\n<pre><code class=\"haskell\">P(q) = p + Sq + r <\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0438\u043d\u0432\u0430\u0440\u0438\u0430\u043d\u0442: <code>RUN P(q) = q<\/code><br \/>  \u0422\u043e \u0435\u0441\u0442\u044c, \u043f\u0440\u0438\u043d\u0442\u0435\u0440 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439, \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043a \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440\u0443!<\/p>\n<p>  \u041d\u0430 \u0421\u0438:  <\/p>\n<pre><code class=\"cpp\">#include &lt;stdio.h&gt; int main() { printf(&quot;%s&quot;, &quot;hello\\nhabr&quot;); return 0; } <\/code><\/pre>\n<p>  \u041d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435:  <\/p>\n<pre><code class=\"python\">print &quot;&quot;&quot; hello RSDN &quot;&quot;&quot; <\/code><\/pre>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c, \u0444\u0443\u043d\u043a\u0446\u0438\u044f S \u0437\u0434\u0435\u0441\u044c \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441\u043e \u0441\u0442\u0430\u0440\u043e\u0439 \u0434\u043e\u0431\u0440\u043e\u0439 E. (\u041d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 \u2014 \u0442\u0430\u043a \u0434\u0430\u0436\u0435 \u043f\u043e\u043f\u0440\u043e\u0449\u0435, \u043d\u0435 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u044d\u043a\u0440\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0440\u043e\u043a\u0438).<br \/>  \u0410 \u0437\u0434\u0435\u0441\u044c \u2014 \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442:  <\/p>\n<pre><code class=\"cpp\">#include &lt;stdio.h&gt; int main() {   putchar(114);putchar(115);putchar(100);putchar(110);   return 0; } <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u043d\u0442\u0435\u0440 P \u0432\u044b\u0433\u043e\u0434\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043a\u0432\u0430\u0439\u043d\u0430 Q \u0442\u0435\u043c, \u0447\u0442\u043e \u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u2014 p \u0438 r \u2014 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>  \u0418\u0437 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430 \u043b\u0435\u0433\u043a\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c <b>\u043c\u0435\u0442\u0430\u043f\u0440\u0438\u043d\u0442\u0435\u0440<\/b>: \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0447\u0430\u0442\u0430\u0435\u0442 \u0442\u0435\u043a\u0441\u0442.  <\/p>\n<pre><code class=\"haskell\">Pmeta (q) = PPq = P(p + Sq + r) = p + S(p + Sq + r) + r = p + Sp + SSq + Sr + r pmeta = p + Sp Smeta = SS rmeta = Sr + r  RUN (RUN( Pmeta(q) )) = q <\/code><\/pre>\n<p>  \u041d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u043d\u0430\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043c\u043d\u043e\u0433\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0442\u0435\u0440:  <\/p>\n<pre><code class=\"haskell\">Pbilingua(q) = P'P&quot;q = P'(p&quot; + S&quot;q + r&quot;) = p' + S'p&quot; + S'S&quot;q + S'r&quot; + r' RUN&quot;(RUN'(Pbilingua(q))) = RUN&quot;(RUN'(P'P&quot;(q))) = RUN&quot;(P&quot;(q)) = q <\/code><\/pre>\n<p>  \u0418 \u0432\u043e\u043e\u0431\u0449\u0435, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0433\u043e\u0434\u043d\u043e \u044f\u0437\u044b\u043a\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c:  <\/p>\n<pre><code class=\"haskell\">Pmulti(q) = pmulti + Smultiq + rmulti pmulti = p1 + S1p2 + S1S2p3 + S1S2S3p4 Smulti = S1S2S3S4 rmulti = S1S2S3r4 + S1S2r3 + S1r2 + r1 <\/code><\/pre>\n<p>  \u0412\u0441\u0451, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u2014 \u044d\u0442\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432. (\u041e\u0431 \u044d\u0442\u043e\u043c \u2014 \u043d\u0438\u0436\u0435).<\/p>\n<p>  \u0418 \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u043f\u0440\u0438\u043d\u0442\u0435\u0440, \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0442\u044b \u043a\u0430\u0440\u0442\u0438\u043d\u044b: \u044d\u0442\u043e \u043d\u0443\u043b\u044c-\u043f\u0440\u0438\u043d\u0442\u0435\u0440 P0(text) = text  <\/p>\n<pre><code class=\"haskell\">p0 = &quot;&quot; r0 = &quot;&quot; S0 = id <\/code><\/pre>\n<h4>\u041f\u0438\u043d\u0433-\u043f\u043e\u043d\u0433<\/h4>\n<p>  \u041d\u0443 \u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043a\u0440\u0435\u0441\u0442\u0438\u043c \u043f\u0440\u0438\u043d\u0442\u0435\u0440 (\u0438\u043b\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0440\u0438\u043d\u0442\u0435\u0440) \u0438 \u043a\u0432\u0430\u0439\u043d.<br \/>  \u0412\u043e\u0442 \u0437\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f.<br \/>  \u041d\u0430\u0437\u043e\u0432\u0451\u043c \u044d\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0438\u043d\u0433\u043e\u043c \u0438 \u043f\u043e\u043d\u0433\u043e\u043c:  <\/p>\n<pre><code class=\"haskell\">RUN ping = pong RUN pong = ping <\/code><\/pre>\n<p>  \u0418 \u043f\u0443\u0441\u0442\u044c ping \u2014 \u044d\u0442\u043e \u043f\u0440\u0438\u043d\u0442\u0435\u0440 P(pong), \u0430 pong \u2014 \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u0442\u0435\u0439\u043b\u0438\u0432\u043e\u0435. \u0415\u0441\u043b\u0438 \u0431\u044b \u044d\u0442\u043e \u0431\u044b\u043b P(ping), \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0431\u044b \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430, \u0430 \u043d\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<br \/>  \u0418\u0442\u0430\u043a, \u043f\u0443\u0441\u0442\u044c pong = Q(F,f,g,h,i,j).<br \/>  \u041f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c:  <\/p>\n<pre><code class=\"haskell\">ping = P pong   = p + S pong + r                 = p + S(a + b + Ef + c + Ej + d + e) + r                 = p + Sa + Sb + SEf + Sc + SEj + Sd + Se + r                 = (p + Sa + Sb) +    SEf + Sc + SEj +     (Sd + Se + r) ping = RUN pong =       f       + g + Ff +  h +  Fj + i +        j <\/code><\/pre>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a, <code>f = p+Sa+Sb<\/code>, \u0430 \u043d\u0435 <code>g=Sa+Sb<\/code>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440?<br \/>  \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e f \u0438 j \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b \u0434\u043b\u044f \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u0438: \u043c\u044b \u043b\u0435\u0433\u043a\u043e \u043c\u043e\u0436\u0435\u043c \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u0432 \u043d\u0438\u0445 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 pong&#8217;\u0430 (\u043f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u0438 a,b,d,e), \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044f \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 g, h, i \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u0430.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438<br \/>  <code>pong = a+b + E(p+Sa+Sb) + c + E(Sd+Se+r) + d+e<\/code><\/p>\n<p>  \u0438 \u0433\u0434\u0435-\u0442\u043e \u0432 \u043d\u0435\u0434\u0440\u0430\u0445 a \u0438\u043b\u0438 e \u043f\u0440\u044f\u0447\u0443\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f F = SE \u0438 \u0441\u0442\u0440\u043e\u043a\u0430 ESc.<br \/>  \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435: \u0435\u0441\u043b\u0438 e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 ESc, \u0440\u0435\u043a\u0443\u0440\u0441\u0438\u044f \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e c \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 e.<\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0437\u0431\u0430\u0432\u0438\u043c\u0441\u044f \u043e\u0442 \u044d\u0442\u0438\u0445 \u00ab\u0432 \u043d\u0435\u0434\u0440\u0430\u0445 \u043f\u0440\u044f\u0447\u0443\u0442\u0441\u044f\u00bb. \u0412\u043e\u0437\u044c\u043c\u0451\u043c \u0434\u0440\u0443\u0433\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e.<br \/>  \u041f\u0443\u0441\u0442\u044c  <\/p>\n<pre><code class=\"haskell\">pong = R(F,x,y,z) = a + Ex + b + Ez + c + Ey + d RUN    R(F,x,y,z) = x + Fx + y + Fz + z  P   pong = p+Sa + SEx + Sb + SEz + Sc+SEy+Sd+r RUN pong =  x   +  Fx +  y +  Fz +      z <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438:  <\/p>\n<pre><code class=\"haskell\">F = SE x = p+Sa y = Sb z = Sc+SEy+Sd+r = Sc + SESb + Sd + r <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0436\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u043d\u0433 \u0447\u0443\u0442\u044c \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443,  <\/p>\n<pre><code class=\"haskell\">pong = R(F,x,y,z) = a + Ex + b + Ey + b + Ez + c RUN    R(F,x,y,z) = x + Fx + y + Fy + y + Fz + z <\/code><\/pre>\n<p>  \u0442\u043e \u0435\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u043b\u043e\u0432\u0447\u0438\u043b\u0438\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442, \u0442\u043e \u0438 \u043e\u0442 \u0443\u0434\u0432\u043e\u0435\u043d\u043d\u043e\u0439 \u0434\u0435\u043a\u043e\u0440\u0430\u0446\u0438\u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u043c\u0441\u044f:<\/p>\n<pre><code class=\"haskell\">P pong   = p+Sa + SEx + Sb + SEy + Sb + SEz + Sc+r RUN pong =  x   +  Fx +  y +  Fy +  y +  Fz +   z <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0434\u043b\u044f <code>P = {S, p,r}<\/code> \u0438 \u0434\u043b\u044f <code>R = {E,a,b,c}<\/code>, \u0442\u043e \u043c\u044b \u0442\u0443\u0442 \u0436\u0435 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043c \u0438\u0445 \u0432 \u043f\u0438\u043d\u0433-\u043f\u043e\u043d\u0433. \u0418 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e P \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0440\u0438\u043d\u0442\u0435\u0440\u043e\u043c. \u0422\u043e\u0433\u0434\u0430 \u043f\u0438\u043d\u0433-\u043f\u043e\u043d\u0433 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0446\u0438\u043b\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c n+1, \u0433\u0434\u0435 n \u2014 \u043a\u0440\u0430\u0442\u043d\u043e\u0441\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430. \u0410 \u0435\u0441\u043b\u0438 P \u2014 \u043d\u0443\u043b\u044c-\u043f\u0440\u0438\u043d\u0442\u0435\u0440, \u0442\u043e \u043f\u0438\u043d\u0433-\u043f\u043e\u043d\u0433 \u043e\u0441\u0446\u0438\u043b\u043b\u0438\u0440\u0443\u0435\u0442 \u0441 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c 1 \u0438 (\u043a\u0442\u043e \u0431\u044b \u043c\u043e\u0433 \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c?) \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043a\u0432\u0430\u0439\u043d\u043e\u043c.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u0447\u0442\u043e \u043d\u0430\u043c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c, \u2014 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e SE.<br \/>  \u0424\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u0437\u0432\u0443\u0447\u0438\u0442 \u0442\u0430\u043a.<br \/>  \u0414\u0430\u043d\u043e: \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043d\u0433\u0430; \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b E \u0438 S, \u043f\u0440\u0438\u0447\u0451\u043c E \u0440\u043e\u0434\u043d\u043e\u0439 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430, \u0430 S \u2014 \u043b\u044e\u0431\u043e\u0439.<br \/>  \u041d\u0430\u0439\u0442\u0438: \u0442\u0435\u043a\u0441\u0442 \u043f\u043e\u0434\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u043f\u043e\u043d\u0433\u0430, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0439 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 SE.<br \/>  \u0410 \u0437\u0430\u043e\u0434\u043d\u043e, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b E \u0438 SE \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0441\u0440\u0435\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041c\u044b \u0432\u0435\u0434\u044c \u0445\u043e\u0442\u0438\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u043e\u0432?<\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0449\u0451 \u0440\u0430\u0437 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b.<br \/>  \u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435\u043d \u043f\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044e: F(a+b) = Fa + Fb.<br \/>  \u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 \u2014 \u043e\u0434\u043d\u043e\u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043c<br \/>  <code>F(abcd\u2026) = Fa + Fb + Fc + Fd + \u2026<\/code><br \/>  \u0414\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b \u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b:<br \/>  <code>FG(abcd\u2026) = FGa + FGb + FGc + FGd + \u2026<\/code><\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0432 \u0432\u0438\u0434\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430, \u0430 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044e \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441 \u0442\u0435\u043c \u0436\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043a\u043b\u044e\u0447\u0435\u0439, \u043d\u043e \u0441 \u0431\u043e\u043b\u0435\u0435 \u0434\u043b\u0438\u043d\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043f\u043b\u0430\u043d \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439:<br \/>  \u0414\u0430\u043d\u043e:  <\/p>\n<ul>\n<li>\u2014 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u044b <code>{Sk,pk,rk}&lt;\/\u0441ode&gt; \u043d\u0430 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043a\u0430\u043a\u0438\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 (\u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u2014 \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 Sk);&lt;\/li&gt; \t&lt;li&gt;\u2014 \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u043e\u043d\u0433\u0430 &lt;code&gt;{E,a(F),b,c(F)}<\/code>, \u0433\u0434\u0435 a \u0438\u043b\u0438 d \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u0443\u044e\u0442 \u043c\u0435\u0441\u0442\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f F (\u043f\u043e\u044d\u0442\u043e\u043c\u0443 a \u0438 c \u2014 \u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438, \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430)<\/li>\n<\/ul>\n<p>  <\/p>\n<ol>\n<li>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u0440\u0438\u043d\u0442\u0435\u0440 <code>{S,p,r}<\/code>, \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044f <code>S1S2...<\/code> \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c.<\/li>\n<li>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 <code>F = SE<\/code>.<\/li>\n<li>\u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438, \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u043b\u0444\u0430\u0432\u0438\u0442 \u2014 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 p,r,Sa,Sb,Sc,Sd. \u042d\u0442\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0433\u043e ASCII \u0438\u043b\u0438, \u043d\u0435 \u0434\u0430\u0439 \u0431\u043e\u0433, \u044e\u043d\u0438\u043a\u043e\u0434\u0430.<\/li>\n<li>\u041f\u043e\u0434\u0432\u0451\u0440\u0441\u0442\u044b\u0432\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432 a \u0438\u043b\u0438 c.<\/li>\n<li>\u041d\u0430\u0445\u043e\u0434\u0438\u043c <code>x=(p+Sa), y=(Sb), z=(Sc+r)<\/code>.<\/li>\n<li>\u0424\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u043f\u043e\u043d\u0433: <code>a+Ex+b+Ey+b+Ey+c<\/code>.<\/li>\n<\/ol>\n<p>  \u0412\u0441\u0451!<\/p>\n<p>  \u0410 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0448\u0430\u0433\u0438 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0442\u0440\u0443\u0434\u043e\u0451\u043c\u043a\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0442\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043a\u0432\u0430\u0439\u043d\u043e\u0432.<br \/>  \u0412\u043e\u0442, \u0434\u043b\u044f \u0437\u0430\u0442\u0440\u0430\u0432\u043a\u0438, \u043a\u043e\u0434 \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 (\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442) \u0434\u0435\u043b\u0430\u0435\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u044b \u0438\u0437 \u043f\u0438\u0442\u043e\u043d\u0430 \u0438 \u0441\u0438.<br \/>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u043b\u044e\u0431\u044b\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u044f\u0437\u044b\u043a\u0430\u043c\u0438 \u2014 \u0434\u0435\u043b\u043e \u0434\u0435\u0441\u044f\u0442\u0438 \u043c\u0438\u043d\u0443\u0442.  <\/p>\n<pre><code class=\"python\">#-*- coding: utf-8 -*-  # \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u044b - \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f\u0449\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b \u0432 \u0441\u0442\u0440\u043e\u043a\u0443  def I(c) : \t''' id-\u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440, \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0441\u0438\u043c\u0432\u043e\u043b \u0432 \u0441\u0438\u043c\u0432\u043e\u043b''' \treturn c  def C(c) : \t''' \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440 \u0434\u043b\u044f \u0441\u0438 \u0438 \u043f\u0438\u0442\u043e\u043d\u0430 ''' \tif c=='&quot;' or c=='\\\\' or ord(c)&lt;32 or ord(c)&gt;126 : \t\treturn '\\\\%03o' % ord(c) \t\t# \u0441\u0435\u0439\u0447\u0430\u0441, \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b, \u0432\u0441\u0435 \u0441\u043f\u0435\u0446\u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043a\u043e\u0434\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432\u043e\u0441\u044c\u043c\u0435\u0440\u0438\u0447\u043d\u044b\u043c \u043d\u043e\u043c\u0435\u0440\u043e\u043c \t\t# \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u0438 \u0431\u044d\u043a\u0441\u043b\u0435\u0448\u0438 \u0431\u0443\u0434\u0443\u0442 \u0443\u0434\u0432\u0430\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432, \t\t# \u0430 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u043f\u043b\u043e\u0445\u043e \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u044e\u0442\u0441\u044f: \\x24bad - \u044d\u0442\u043e \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 chr(0x24BAD), \u0430 \u043d\u0435 \u0441\u0442\u0440\u043e\u043a\u0430 $bad \telse : \t\treturn c  def decor(F,s) : \t''' \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430 \u043a \u0441\u0442\u0440\u043e\u043a\u0435 ''' \treturn ''.join(map(F,s)) # \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u0443 \u0438 \u0441\u043a\u043b\u0435\u0438\u0432\u0430\u0435\u043c  def compose(F,G) : \t''' \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u043e\u0432 ''' \treturn lambda c : decor(F,G(c))  # \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u044b - \u043a\u043e\u0440\u0442\u0435\u0436\u0438 (S,p,r)  def make_printer(S, tpl, tag = '&lt;-T-&gt;') : \t''' \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043f\u0440\u0438\u043d\u0442\u0435\u0440 \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b (\u043c\u0435\u0442\u043a\u0430 &lt;-T-&gt; \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u0435\u043a\u0441\u0442) ''' \tp,r = tpl.split(tag) \treturn S,p,r  nul_printer = (I,'','')  def show_printer(prn, t) : \t''' \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 t ''' \tS,p,r = prn \treturn p + decor(S,t) + r  def meta_printer(prn1, prn2) : \t''' \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u043e\u0432 ''' \tS1,p1,r1 = prn1 \tS2,p2,r2 = prn2 \tS = compose(S1,S2) \tp = p1 + decor(S1,p2) \tr = decor(S1,r2) + r1 \treturn S,p,r  # \u043a\u0432\u0430\u0439\u043d\u0435\u0440 - \u0442\u043e, \u0447\u0442\u043e \u0432\u044b\u0448\u0435 \u044f \u043d\u0430\u0437\u044b\u0432\u0430\u043b \u043f\u043e\u043d\u0433\u043e\u043c - \u043a\u043e\u0440\u0442\u0435\u0436 (E, am, b, cm) # \u0433\u0434\u0435 am \u0438 cm - \u0444\u0443\u043d\u043a\u0446\u0438\u0438 decorator -&gt; string  def make_quiner(E, M, tpl, tagX = '&lt;-X-&gt;', tagF = '&lt;-F-&gt;') : \t''' \t\u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043a\u0432\u0430\u0439\u043d\u0435\u0440 \u0438\u0437 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \t\u043c\u0435\u0442\u043a\u0430 &lt;-X-&gt; \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0442\u0440\u0438\u0436\u0434\u044b \u0438 \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442 \u0432\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a x,y,z, \t\u043c\u0435\u0442\u043a\u0430 &lt;-F-&gt; \u043e\u0442\u043c\u0435\u0447\u0430\u0435\u0442, \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0432\u0451\u0440\u0441\u0442\u044b\u0432\u0430\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430 F \t\u0444\u0443\u043d\u043a\u0446\u0438\u044f E - \u0440\u043e\u0434\u043d\u043e\u0439 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440, \u0444\u0443\u043d\u043a\u0446\u0438\u044f M \u043f\u043e\u0440\u043e\u0436\u0434\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430 \t''' \ta,b,b_,c = tpl.split(tagX) \tassert b==b_ \tam = lambda F : a.replace(tagF, M(F)) if tagF in a else a \tcm = lambda F : c.replace(tagF, M(F)) if tagF in c else c \treturn E,am,b,cm  def show_quiner(qnr, F,x,y,z) : \t''' \t\u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u043a\u0432\u0430\u0439\u043d\u0435\u0440\u0430 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u043e\u0440\u0430 \u0438 \u0441\u0442\u0440\u043e\u043a \ta,Ex,b,Ey,b,Ez,c -- \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a \tx,Fx,y,Fy,y,Fz,z -- \u0442\u043e, \u0447\u0442\u043e \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c (RUN) \t''' \tE,am,b,cm = qnr \ta,c = am(F), cm(F) \tex,ey,ez = decor(E,x), decor(E,y), decor(E,z) \treturn a + ex + b + ey + b + ez + c  def show_quiner_printer(qnr,prn) : \t''' \t\u0440\u0435\u0448\u0430\u0435\u0442 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d \tp+Sa,SEx,Sb,SEy,Sb,SEz,Sc+r -- \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0430 \tx   , Fx,  y , Fy,  y , Fz,   z -- \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u0432\u0430\u0439\u043d\u0435\u0440\u0430 \t''' \tE,am,b,cm = qnr \tS,p,r = prn \tF = compose(S,E) \ta,c = am(F), cm(F) \tx = p + decor(S,a) \ty = decor(S,b) \tz = decor(S,c) + r \tex,ey,ez = decor(E,x), decor(E,y), decor(E,z) \treturn a + ex + b + ey + b + ez + c  #############################################################  # \u043a\u0432\u0430\u0439\u043d\u0435\u0440\u044b \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 :  c_quine_tpl = '''\/* C quine *\/ #include &lt;stdio.h&gt; const char* f[128] = {&lt;-F-&gt;}; const char* xyz[3] = {&quot;&lt;-X-&gt;&quot;, &quot;&lt;-X-&gt;&quot;, &quot;&lt;-X-&gt;&quot;}; void ps(const char* s) { while(*s) putchar(*s++); } void pm(const char* s) { while(*s) ps(f[*s++]); } int main() {   ps(xyz[0]); \/*  x *\/   pm(xyz[0]); \/* Fx *\/   ps(xyz[1]); \/*  y *\/   pm(xyz[1]); \/* Fy *\/   ps(xyz[1]); \/*  y *\/   pm(xyz[2]); \/* Fz *\/   ps(xyz[2]); \/*  z *\/   return 0; } ''' def c_quine_M(F) : \t''' \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043a\u043e\u0434\u043e\u0432 - \u0441\u0438\u0448\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e ''' \tcodes = [ '&quot;%s&quot;' % decor(C,decor(F,chr(i))) for i in xrange(128) ] \treturn ', '.join(codes)  c_quiner = make_quiner(C, c_quine_M, c_quine_tpl)  # \u044f \u043d\u0435 \u0441\u0442\u0430\u043b \u0432\u044b\u0434\u0443\u043c\u044b\u0432\u0430\u0442\u044c, \u0438 \u0441\u0434\u0435\u043b\u0430\u043b \u043a\u0432\u0430\u0439\u043d\u0435\u0440 \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435 \u043f\u043e \u043e\u0431\u0440\u0430\u0437\u0443 \u0438 \u043f\u043e\u0434\u043e\u0431\u0438\u044e \u0441\u0438\u0448\u043d\u043e\u0433\u043e py_quine_tpl = '''#!\/usr\/bin\/python import sys m = [ &lt;-F-&gt; ] xyz = [ &quot;&lt;-X-&gt;&quot;, &quot;&lt;-X-&gt;&quot;, &quot;&lt;-X-&gt;&quot; ] def ps(s) : \tsys.stdout.write(s) def pm(s) : \tfor c in s : ps(m[ord(c)]) ps(xyz[0]) pm(xyz[0]) ps(xyz[1]) pm(xyz[1]) ps(xyz[1]) pm(xyz[2]) ps(xyz[2]) '''  py_quiner = make_quiner(C, c_quine_M, py_quine_tpl) # \u0438 \u0434\u0430\u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u043e\u0437\u0430\u0438\u043c\u0441\u0442\u0432\u043e\u0432\u0430\u043b  ###################  # \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u044b \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 :  c_printer_tpl = '''#include &lt;stdio.h&gt; int main() { printf(&quot;%s&quot;, &quot;&lt;-T-&gt;&quot;); return 0; } '''  c_printer = make_printer(C, c_printer_tpl)  py_printer_tpl = '''import sys sys.stdout.write(&quot;&lt;-T-&gt;&quot;) '''  py_printer = make_printer(C, py_printer_tpl)  ####################  # \u043f\u043e\u0435\u0445\u0430\u043b\u0438! \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u0432\u043e\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u044b  c_c_printer   = meta_printer(c_printer,  c_printer) py_py_printer = meta_printer(py_printer, py_printer)  # \u043a\u0432\u0430\u0439\u043d\u044b 1 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 c_quine  = show_quiner_printer(c_quiner,  nul_printer) py_quine = show_quiner_printer(py_quiner, nul_printer)  # \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u044b 2 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 c_c_quine   = show_quiner_printer(c_quiner,  c_printer) py_py_quine = show_quiner_printer(py_quiner, py_printer)  # \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u044b 2 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 - \u043f\u043e\u043b\u0438\u0433\u043b\u043e\u0442\u044b c_py_quine = show_quiner_printer(c_quiner, py_printer) py_c_quine = show_quiner_printer(py_quiner, c_printer)  # \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d\u044b 3 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 - \u043e\u0434\u043d\u043e- \u0438 \u043c\u043d\u043e\u0433\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0435 c_c_c_quine    = show_quiner_printer(c_quiner,  c_c_printer) py_py_py_quine = show_quiner_printer(py_quiner, py_py_printer) c_py_py_quine  = show_quiner_printer(c_quiner,  py_py_printer) py_c_c_quine   = show_quiner_printer(py_quiner, c_c_printer)  sys.stdout.write(py_py_py_quine) # \u0432\u044b\u0432\u0435\u0434\u0435\u043c, \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u0438\u044f, \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d... <\/code><\/pre>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a \u0438 \u0435\u0433\u043e \u043f\u043b\u043e\u0434\u044b \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 \u0432\u0435\u0434\u0440\u043e\u0431\u0438\u0442\u0435: <a href=\"https:\/\/bitbucket.org\/nickolaym\/quines\">bitbucket.org\/nickolaym\/quines<\/a><\/p>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0448\u0438\u043d\u043e\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u0437\u044f\u0449\u0435\u0441\u0442\u0432\u043e\u043c. \u0415\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u2014 5438 \u0431\u0430\u0439\u0442, \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438.<\/p>\n<p>  \u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0435\u0451 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0435\u0435 (\u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0432 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f) \u2014 \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0440\u0435\u0448\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u0442\u043e \u043d\u0430\u043f\u0438\u0448\u0443 \u0435\u0449\u0451 \u043f\u043e \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u0435:  <\/p>\n<ul>\n<li>\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043a\u0430\u043a \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0434 \u0441\u043f\u0438\u0441\u043a\u0430\u043c\u0438<\/li>\n<li>\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0442\u0443\u043f\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0431\u0440\u0435\u0439\u043d\u0444\u0430\u043a<\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0441\u043c. \u043c\u043e\u0439 \u043f\u043e\u0442\u043e\u043a \u0441\u043e\u0437\u043d\u0430\u043d\u0438\u044f \u043d\u0430 RSDN, 4-\u043b\u0435\u0442\u043d\u0435\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438. <a href=\"http:\/\/rsdn.ru\/forum\/etude\/3604693\">http:\/\/rsdn.ru\/forum\/etude\/3604693<\/a>. \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\/post\/188852\/\"> http:\/\/habrahabr.ru\/post\/188852\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u041d\u0430 \u0445\u0430\u0431\u0440\u0435 \u043c\u0435\u0441\u044f\u0447\u043d\u0438\u043a \u043a\u0432\u0430\u0439\u043d\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u044b\u0432\u0430\u043b \u0435\u0449\u0451 \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434.<\/p>\n<p>  \u0425\u043e\u0440\u043e\u0448\u0438\u0439 \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0430, \u043d\u043e\u2026<br \/>  \u041f\u0440\u0438 \u0432\u0437\u0433\u043b\u044f\u0434\u0435 \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u043f\u043e\u0440\u0446\u0438\u044e \u00ab\u043f\u043e\u043c\u0435\u0445 \u043d\u0430 \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u0444\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438\u00bb, \u0443 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043b\u0438\u0448\u044c \u0438\u0437\u0443\u043c\u043b\u0435\u043d\u0438\u0435: \u00ab\u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u00bb, \u0438 \u00ab\u043a\u0435\u043c \u0431\u044b\u043b \u0442\u043e\u0442 \u0441\u0443\u043c\u0440\u0430\u0447\u043d\u044b\u0439 \u0442\u0435\u0432\u0442\u043e\u043d\u0441\u043a\u0438\u0439 \u0433\u0435\u043d\u0438\u0439\u00bb.<br \/>  \u042f \u0445\u043e\u0447\u0443 \u0441\u043e\u0440\u0432\u0430\u0442\u044c \u043f\u043e\u043a\u0440\u043e\u0432\u044b \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0432\u0430\u0439\u043d \u043b\u044e\u0431\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0430\u0439\u0442\u0441\u043f\u0435\u0439\u0441 \u0438 \u0431\u0440\u0435\u0439\u043d\u0444\u0430\u043a.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0434\u0435\u043b\u043e \u0441 \u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043d\u0430 \u044d\u0442\u043e \u0434\u0435\u043b\u043e \u043a\u0430\u043a \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0434 \u0441\u0442\u0440\u043e\u043a\u0430\u043c\u0438.  <\/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-188852","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/188852","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=188852"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/188852\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=188852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=188852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=188852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}