Самые неординарные языки программирования



    Признаться честно единственная моя связь с программированием в том, что мой брат программист, ну еще я в школе учил Pascal. Однако, я полностью осознаю всю сложность и красоту программирования. Создать программу, код которой не будет содержать «мусора», достойно похвалы. Что уж говорить о создании самого языка, на котором и пишутся программы. Проще говоря — это сложно, чертовски сложно. И, значит, это должно быть обдуманно и нести какой-то смысл. Но не всегда. Сегодня мы с вами вместе приподнимем брови в удивлении, ознакомившись с самыми нелепыми и смешными языками программирования. Поехали.

    Прежде чем начать рассматривать наших участников, хотелось бы обозначить некоторые термины, имеющие непосредственное значение.

    Эзотерический язык программирования — язык, который разрабатывается как предмет искусства, юмора или доказательства некой концепции. Скажем для расширения границ самого программирования и языкописания.

    Тьюринг-полным называют язык программирования, с помощью которого можно реализовать любую вычислимую функцию.

    LOLCODE



    Автором этого языка является Адам Линдсэй, исследователь отдела компьютерных технологий Ланкастерского университета. Сие творение увидело свет в 2007 году.

    Свое необычное название язык получил в честь интернет мема Lolcat. Структура его состоит из очень небольшого словаря сленгового английского языка.

    Пример кода для вывода сообщения «Hello World!»:
    HAI
    CAN HAS STDIO?
    VISIBLE «HAI WORLD!»
    KTHXBYE

    Пример кода для вывода содержимого файла:
    HAI
    CAN HAS STDIO?
    PLZ OPEN FILE «LOLCATS.TXT»?
    AWSUM THX
    VISIBLE FILE
    O NOES
    VISIBLE «ERROR!»
    KTHXBYE

    Разберем каждую строку по полочкам:

    HAI — начало программы
    CAN HAS «file name»? — включает в текст программы содержимое указанного файла
    VISIBLE line — вывод на экран
    KTHXBYE — конец программы

    Обработка исключений:

    • PLZ command?
    • AWSUM THX
      code
    • O NOES
      code

    Glass


    Сайт Грегори Ричардса

    Создан в 2005 году Грегором Ричардсом. Структурно язык весьма сложный, так как сочетает в себе использование постфиксов, и требует серьезных манипуляций с основным стеком в сочетании с его объектно-ориентированной структурой.

    Вот как выглядит код программы «Hello, World!»:
    {M[m(_o)O!«Hello World!»(_o)o.?]}

    А вот последовательность Фибоначчи:
    {F[f(_a)A!(_o)O!(_t)$(_n)1=,(_isle)(_n)*(_a)(le).?=/(_isle)^\(_n)*(_a)
    s.?(_t)f.?(_n)*(_a)s.?(_t)f.?(_a)a.?]}{M[m(_a)A!(_f)F!(_o)O!(_n)=(_nlm)
    =/(_nlm)(_n)*(_f)f.?(_o)(on).?" "(_o)o.?(_n)(_n)*(_a)a.?=(_nlm)(_n)*
    (_a)(le).?=\]}

    Brainfuck



    Язык программирования для любителей крайне радикального минимализма. Был создан в 1993 году Урбаном Мюллером. Отличительной чертой данного языка является наличие лишь 8 команд, которые записываются как один символ. Мюллер хотел создать язык с самым малым компилятором. Так и вышло. Компилятор для Brainfuck весит меньше 200 байт. Данный язык является тьюринг-полным, потому может использоваться наравне с Java или Pascal, например.

    «Hello, World!» на языке Brainfuck:
    ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++
    .>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
    ------.--------.>+.>.

    Также есть другой вариант этой же программы, но он куда более длинный:
    +++++++++++++++++++++++++++++++++++++++++++++
    +++++++++++++++++++++++++++.+++++++++++++++++
    ++++++++++++.+++++++..+++.-------------------
    — ---------------.+++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++.++++++++++++++++++
    ++++++.+++.------.--------.------------------
    — ----.-----------------------.

    Разбор команд и их значения

    > — перейти к следующей ячейке
    < — перейти к предыдущей ячейке
    + — увеличить значение в текущей ячейке на 1
    - — уменьшить значение в текущей ячейке на 1
    . — напечатать значение из текущей ячейки
    , — ввести извне значение и сохранить в текущей ячейке
    [ — если значение текущей ячейки 0, перейти вперёд по тексту программы на ячейку, следующую за соответствующей ] (с учётом вложенности)
    ] — если значение текущей ячейки не ноль, перейти назад по тексту программы на символ [ (с учётом вложенности)

    Chicken



    Автором языка программирования Chicken стал Торбьёрн Сёдерштедт.

    Составляющими языка являются «chicken», « » (пробел) и «\n». В каждой строке определенное число «chicken» разделенных пробелами, от числа «chicken» зависит какая команда будет исполнятся.

    Инструкции загружаются в стек, где они и выполняются, что позволяет вводить произвольный код и выполнять его с помощью скачка. Поскольку стек программы не ограничен, то есть возможность само-модифицирования кода.

    Пользователь может предоставить вводные данные перед выполнением программы. Они сохранятся в одном из двух регистров.

    Стек разделен на три сегмента.

    Первый сегмент состоит из 2 регистров. Один просто указывает на сам стек. Другой — содержит вводные данные пользователя, которые чаще всего представлены строкой. Эти регистры используются инструкцией LOAD.

    Второй сегмент содержит загруженный код. Для каждой строки кода есть ячейка в стеке, которая содержит информацию сколько «chicken» в строке. Этот сегмент используется для исполнения программы. Он автоматически останавливается инструкцией EXIT.

    Третий сегмент содержит фактический стек программы. Когда инструкции выполняются, они извлекают значения в этом месте. А поскольку сегменты не изолированы, то существует возможность изменять значения в коде.

    И как обычно, «Hello, world!» на языке Chicken:
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken
    chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken

    chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken

    chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken
    chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken

    chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken

    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken

    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken chicken
    chicken chicken chicken chicken chicken chicken

    Whitespace

    Очень необычный язык, выпущеный в 2003 году в честь Дня Смеха (1 апреля) Эдвином Брэди и Крисом Моррисом. Основной чертой этого языка является его «скрытность». Дело в том, что команды и строки кода формируются путем использования исключительно пробелов, табуляции и переходом на новую строку.

    Вот как выглядит «Hello, World!» (синий — табуляция, красный — пробелы)



    Befunge

    В далеком 1993 году Крис Пресс поставил перед собой задачу разработать самый сложный для компиляции язык программирования. Так и появился Befunge. Сложность достигается за счет команд p и g, которые модифицируют текст программы.

    Версия языка 1993 года была ограничена таблицей 25х80 (стандартный размер текстового экрана), потому эта версия не может быть тьюринг-полной. Если же таблица будет бесконечной, то Befunge будет тьюринг-полным.



    Подробное описание команд

    Каждая из команд кодируется под видом символа из таблицы ASCII (см. рисунок выше).

    Команды сгруппированы по типу действия.

    Перемещение:

    > — вправо
    < — влево
    ^ — вверх
    v — вниз
    _ — вправо, если на вершине стека 0, иначе — влево
    | — вниз, если на вершине стека 0, иначе — вверх
    ? — в случайном направлении
    # — пропустить следующую ячейку
    @ — конец программы

    Манипуляции со стеком:

    : — Поместить в стек копию вершины (forth:DUP)
    \ — Поменять местами вершину и подвершину (forth:SWAP)
    $ — Удалить вершину (forth:DROP)

    Модификация кода программы:

    p «PUT» — со стека извлекаются координаты ячейки и ASCII-код символа, который помещается по этим координатам
    g «GET» — со стека извлекаются координаты ячейки; ASCII-код символа по этим координатам помещается в стек

    Константы:

    0-9 — Поместить число в стек
    " — Начало/конец символьного режима, в котором ASCII-коды всех текущих символов программы помещаются в стек

    Стековые арифметические операции:

    + — Сложение вершины и подвершины (forth:+)
    - — Вычитание вершины и подвершины (forth:-)
    * — Умножение вершины и подвершины (forth:*)
    / — Целочисленное деление (forth:/)
    % — Остаток от деления (forth:MOD)

    Стековые логические операции:

    ! — Отрицание: нуль на вершине заменяется на 1, ненулевое значение — на 0 (forth:0=)
    ` — Сравнение «больше, чем»: если подвершина больше вершины, в стек помещается 1, иначе 0 (forth:>)

    Ввод-вывод:

    & — Запросить у пользователя число и поместить его в стек
    ~ — Запросить у пользователя символ и поместить в стек его ASCII-код
    . — Распечатать вершину стека как целое число (forth:.)
    , — Распечатать символ, соответствующий ASCII-коду на вершине стека (forth:EMIT)

    Код программы «Hello, World!» на языке Befunge:
    > v
    @,,,,,,,,,,,,«Hello World!»<


    Последовательность Фибоначчи (первые 14 чисел):
    62*1+v>01p001>+v>\:02p\:02gv
    0 ^ <
    . :p
    » .1
    v 0," "<0
    " >1g12-+:|
    , @
    >^

    Piet

    Наверное, самый визуализированный эзотерический язык программирования. Был создан Давидом Морган-Маром и назван в честь нидерландского художника Пита Мондриана. При чем тут он, спросите Вы? Дело в том, что программы, написанные на данном языке, выглядят как разноцветные картинки, своего рода картины в стиле абстракционизма.

    Основой данного языка является 20 цветов, 18 из которых связаны между собой в двух циклах:

    Цикл оттенков: красный → жёлтый → зелёный → голубой → синий → фиолетовый → красный
    Цикл яркости: светлый → нормальный → тёмный → светлый

    Последние 2 цвета (белый и черный) в циклах участия не берут.

    Подробное описание основных элементов язык

    «Hello, World!» на языке Piet:



    Malbolge



    Адский язык программирования. И не только потому, что его название это название восьмого круга ада в «Божественной комедии» Данте, а еще и потому, что на этом языке практически невозможно написать нормальную программу. Для чего, собственно, он и был создан Беном Олмстедом в 1998 году.

    Структура языка

    Дело в том, что Malbolge это машинный язык для интерпретаторов, работающих в троичной системе исчисления.

    Регистры

    В интерпритаторе Malbolge имеется 3 регистра — a, c и d.

    С — регистр кода, указывает на текущую программу.

    D — регистр данных, управляет данными.

    А — аккумулятор, также некоторые команды используют его для манипуляции с данными.

    Память

    Память интерпретатора равна 59049 (3в10 степени) ячеек с числами из 10 троичных цифр. При этом ячейки с адресом от 0 до 59048 имеют соответствующие значения (от 0 до 59048). Когда программа запускается, начало памяти заполняется ASCII-кодами символов ее исходного кода. Игнорируются пустыне пространства (пробел, табуляция, перенос на новую строку). Остаток памяти заполняется, использую операцию crazy, которая является аналогом побитовых операций — она применяется к двум соответствующим цифрам.



    Команды

    Значение
    ([c] + c) % 94
    Инструкция Пояснение
    4 mov c, [d] Переход к ячейке с номером [d]
    5 out a Вывод значения ASCII-символа с кодом a % 256 на экран
    23 in a Ввод ASCII-символа в a. Разделитель строк имеет код 10. Конец файла — 59048
    39 rotr [d]
    mov a, [d]
    Сдвигает значение [d] на одну троичную цифру вправо (0002111112 превращается в 2000211111). Результат сохраняется в [d] и в a
    40 mov d, [d] Копирование значения из [d] в d
    62 crz [d], a
    mov a, [d]
    Произвести операцию crazy со значениями [d] и a. Результат сохраняется в [d] и в a
    68 nop Ничего не делает
    81 end Конец программы

    Любые другие значения ничего не делают. Они не разрешены при загрузке программы, но разрешены после этого.

    Шифрование

    После выполнения очередной инструкции производится ее шифрование с использование таблиц перевода:

    !»#$%>&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

    5z]&gqtyfr$(we4{WP)H-Zn,[%\3dL+Q;>U!pJS72FhOA1CB6v^=I_0/8|jsb9m<.TVac`uY*MK’X~xDl}REokN:#?G«i@

    Программа «Hello, World!» на языке программирование Malbolge:
    (=<`:9876Z4321UT.-Q+*)M’&%$H»!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

    Или так:
    (‘&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj«Fhg${z@>

    Не менее внушительной является цикличная программа «99bottles»:
    b'`;$9!=IlXFiVwwvtPO0)pon%IHGFDV|dd@Q=+^:('&Y$#m!1S|.QOO=v('98$65aCB}0i.Tw+QPU'7qK#I20jiDVgG
    S(bt<%@#!7~|4{y1xv.us+rp(om%lj»ig}fd«cx``uz]rwvYnslkTonPfOjiKgJeG]\EC_X]@[Z<R;VU7S6QP2N1LK-I
    ,GF(D'BA#?>7~;:9y16w43s10)p-,l*#(i&%e#d!~``{tyxZpuXsrTTongOkdMhg`Hd]ba`_^W@[ZYXW9UNSRQPOHMLK
    J-++FE''<A$?>=<;:387xw43s10/(-&m*)('&}${d!~}|^zyxwvutmVqpiRQlkjiKafedc\E`_^@\[ZYX;V9NMRQ42NG
    LK.IH*F?DCBA$#>7~;{{8xx5uu2rr/oo,ll)ii&f|e»!aw`{z\r[vXnmVTpongPkNihgJ_dcFa`B^]\UZ=RWV8TSLQ4O
    N0LE.IHA)E>'BA:?!7~5|38y6/v321q).-&m*)i'&%|{d!~}_{zs\wvutsUqTonPlOjiKgJedFbE`_A]@[Z<X;VU7S6Q
    P22GL/JIB+FEDC%;@?>7~;:987w5v32r0)p-,+k)('~g$#«b~w|uz]xwvutsrqTinQlOjLhgfeH]bE`CB]\>ZSXWVUTS
    RQPON1LE.I,+*((&&$$»"~~||zzxxv4u210/(-n+l)(i&g$ddy~}`u^]\ZvutVlUjSQQOOdMKgfeG]F[DBB@@>><<:VU
    T6L5JO200EJ-HG*E>'B%$9>=<|4{2y05v321r).o,mlj(igg|#d!~}`uz]x[ZotWUUjoRmlkNibKJIGGEEZ_B]\?Z=XW
    PU876442NM/KD-B+))''%%##!!}}{{yyw5v32s0q.-&+l)j'hff{«caav{^yxwZutslUpSnQOOdiLgfHHcba`Y^A\?Z=
    ;;PU8SRQ4ONMLEJ-,+))''%%##!=<;{3z1xvvttrrppnnll#j!&g$#d!b}|{zyr[vYtsrTjShQfkNihgJedcba`Y^A\?
    Z=;WV9TSRQPOHM0K.-++)ED&B;$9»~<;:z2y0wuussqqoom+ljj!&%$dzcx}`{zy\wvutsrqjSnQPNNLhgIedG\EZCA]
    \[=S<Q:886644220L/JIHA*)(&&$@?!=6}4{yywwuus10/o'n%lj('&f|ezcaa__]][wvuWmVkTRnQlkNLLaJIHFbE`_
    B]@U>Y<;P9775533H1/KJ,HA*?(&&$$">=<|4{2ywwu321q)p'nl*k('gg${«c~a`^z]xwvYtmrUpSRPlOMMbK`IGGEE
    Z_^]?U>S<::8866442200.JIH*@)>C&A@?»=<5|{8y65vtt10/(-n+lk"'&%e{dyb``^^\\ZvutVlUjSQmlkMcLaJHHF
    bECCX]\[=S<Q:886R5PON1LKJCH+F)(=BA@«8!6}{{2y0543s+r)pnnlljjhhffddbb`|_zyx[vutslUTSQQOOMihgI_
    H]FDDBB@@>><XWV8N7L5331MLK-C,A*(D'BA$»"=<;:927xwvt2s0/p-n+*)('~%f#dcaa__]y\ZZotsrTjShQOkjiKa
    J_HFFDDBB@@>><X;99NS6QPO2MLKJIHA*E('%%:#8=~;:9z7654321*/p-,m*k(hh}$#dyb}`{zy[qZoXVVTTRnmlNdM
    bKIIGGEECCAA?[>YXWP9T76K42200.JI+G@)>'%A@?!7~5|zzx654t,s*qo-n+*jj!h%fec!b}|{^s\[vYWWlqTonQlO
    jchKfIHFFDDB^]\>T=R;P9NS6QPO2MLE.-,*FED&<%:#!!}}{{yyw543s+r)pnnl*kii~%f#«caa|{zsx[ZutVrkTinQ
    lkNiLgfe^cFEDYBW\[=YR;P977553O200EJIH*@)>C&$$9>!<;|9z7654-tsrppnnll#('&f|ezca}|{]s\qZXtsrTjS
    hQOOMihgI_H]FDDB^A\[><<WVUTSLQ43NM/KD-BG*ED'B%@?>=<5:{zy0wuussqqoomm$ki'hff{»c~}`{t]\wvuWmVk
    pSnmPNNcLKfIGG\aD_^A\?T=<;99775QPO1G0E.,HG)E>'<%#?"~~5:98x0w.ussq/pnn%*k('hff#z!ba|{z\r[puXs
    rUpSnglONihgI_H]FDDYBW\[Z<R;P977553311//--++))'CBA#9«7<}:9z7x54-t1rq(ommkkiiggeecca}|{]s\qZX
    tsrTjShQOkjiKaJ_HFFDDB^A\[==XWVOT7R542N1LKJ-HGF?D'B%$»«7~5|zzxxv43s1*q(ommk)jhh}$e»!~a|{zyr[
    vYXVVTTRRPPNNLLJJHH]FD`_A]V?TY<WVU8SRQPOHM0K.-++))''%%#?"~~5:9y70w.us1r/.-n+*)('~%fedbbw`u^\
    xwvXnWlUSSQQOOMMKKIIGGEa`_AW@UZ=XW:U8SRQPONG0/.C,*FED&<%:#!!}}{{yywwuussqqo-n+*k(!h%f#"!aw`u
    ^\\ZZoXVrqpRhQfOMMKgfeG]F[DBB@\[Z<R;P97S6QP22GL/J-,*F)DCB%:?"!~||zz1x/432r*q(ommkkiiggeeccaa
    _{^yx[vYtmVqTSQQOOMMKKIeHFF[`_A]V?T=;;9977553O2MLK.IHAF)('%%##!=~||3876v.u,sq/pnn%*)(h~g|ecc
    aa__]][[YuXsrUSSnmleNMhgfH^G\aD_^A\?ZYXQ:98M644220LK-IB+@)''%%#?>=}5|3zxxv4u21r/p-,+*#(i&g$#
    c!~av_t][[YutsUkTiRPPNNLLJJHHFFDDB^A\[Z=XWVUTM6Q43HM0..CH+FE''BA@?>=6;|9z765u-t+0q.-,m*)('&%
    |#dcb``uzy[wpYnWUUSonmOeNcLJJHHFFDDBB@\?ZY<W:UTSRQPOH1L/.,,**(D'%%:?>=}5|3zxxvvttrrppn,m*)ii
    &%$#"!~}v{^y\wvuWmVkpSnmlOjihgfedc\aD_BAV[Z<XQ:OT7RQPI2M0/--++)EDC%;$9"~~||zz1xvv-trrppn,m*)
    (!hg$#c!xav_]yxwYoXmVTTRRPPNjihJ`I^GEECCAA??=Y<::OT7RQ4O2G0K.-BGFE'=&;$9«7<}:98y6/4ut10/o'n%
    *kii~%f#»c~a|{t]x[ZXXVrqpRhQfOMMKKIIGGEECCA]@[Z<<WVUNS6Q431M0KJI,GFE>C&%$"«7~|:9y70w.us10/o'
    n%ljjhhffddb~a|{^\\wvutmVUTRnQlkNiLgfed]FE`_A]V?TY<WV977RQPONMF/.I,**?D'BA$?»=<;:981x5vussq/
    .-m%l#jh&%$dzcxa_{zy[qZoXVrqpRhQfOMMKgJHH]ba`BXAV?=Y<WV88SRQPONMFK.I,+)E(CBA$?>=<;:927x5vuss
    qqo-,+k#j!hffddbb``^^s\qZXXVVTpSQQfkNihg`IHcbaCYBW\?==RW:UT755J321FK.IH+F)>'B%$9"~~||zzxxvvt
    210p(o&mkki'&%e{dyb``^z]xwvYtmrUTSQmlkMcLaJHdcbDZCXA?[><<QVUT6L5J31MLK-C,A*((&&$$""~<}:9zxx5
    4-tsrp.o,+l)j'&}f#d!~}_u^s\ZZXXVrqpRhQfOMihJf_H]FDDB^]\>T=R;99775Q4ON00KJIBG*E('%A$?>=~;:927
    xwvttr0/.n,m$)('g}f{«c~}`{^yxwvoXsVUSShQOkjLhaJ_HFba`BXAV?=YX:VO8M644220L/JI++FEDCB;@#>!<;:z
    2y05v321r/.-,+$)j'hgeeccaa__]][wZXXmVkTiRPPNjMhgfIdcba`_XA@?==;;9977L5J31MLK-C,A*((&BA@»8!6}
    {{y765u-t+rppn,m*)j'h%$#"!~}v{^y\[YutsUkTiRPPNNLhgfH^G\ECCAA??==;;9UTS5K4IN1LKJC,G*)''%%#?>=
    }5|3zxxvvttrrppnnl*k('gg|e«c~a__ty\wvuXmVUTinmlNdMbKIedFb[DYB@\?==RWVU7M6K42N1LK.,,G@E('&$@#
    >=~;|927xw4uss*/.n,%l#(i&%f#d!~w`{^][[YYWWlUjonmOeNcLJJHHFFDDB^A\[==XWVOT7R542N1LKJ-HGF?D'&%
    :?»=<}:3z7xwuussqqo-,+k#j!h}fddb~}_{t]r[YYWWUqpoQgPeNLLJJHHFFDDBB@@>Z=XWV9N7R54I2GLKJ,B+@)''
    %%#?>=}5|3zx654t,s*qoommkkiig%f#«bb}v{^y\wvuWmVkpSnmlOjchKJIGGEaD_^A\?ZYR;V986RQP2H1F/--++))
    ''%%##!=~;:zz765.3t1rq(-,+k#j!&g$#»c~}|uz]x[ZXtsrTjShQOOMMKKIIGGEECCAA?[><<QV9TSR5PONMF/.-+G
    FE'=&;$""~~||zzxxvvttrrp.o,+ljj'&%$#z!ba|_]]rwZutWrUponmlejMLKIIGGEECCX]\[=S<Q:8TSR4J3H1F/DI
    ,GF)D'BA@?>=6}|9zxx/432r*q(o&mk)j'&g$e"!~}|{zsx[vYXVVTponPfOdMbKIIGG\ECCAA??=YXW9O8MR5PONG0K
    .I,**?D'BA@9"=~}4{yywwuussqqoommkki'h%$ddyb}`_ty\ZZotsrTjShmPkjiLaJIHFba`BXAV?==;;9977553311
    //-IHG)?(=B%@?"=~;49z7x543s+r)pnnl*)(h~g|ec!b``uzyxZpYnWUqpoQgPeNLLJJHHFFD`C^]??ZYR;V986R5PO
    N1LKD-,+))''%%##!=<;{3z1xvvttrrppn,mkk"'&f${dy~a|{^\\wvunsVUpSQQfkNihKfIdcb[`C^A\[Z<R;PUT6RQ
    4I2GL/JIH+FEDC<%@#"~~|:98x0w.ussqqoommkkiigge#"!aw`uz]xwYYtsrqpinQlOjMKK`eHcbaD_^]\[TY<;:O86
    R5PO2MF/J-,A*((&BA@«8!6}{{yywwu3trr).-,l$k»igge#dbbw|{z\r[pYWsVqpRRgPkNMKgJedcF[D_B]\>ZS<QV9
    TS55POH1L/J-++@E(CBA$?>7~;|{y76v4-t+rp.-,l$k«iggeecca}`{z\\wvunsVqTonPleNchKfedGba`Y^A@?==;W
    VU7M6K42N1//DIHG)?(=&$$»"~~||zzxxv4u21rpp-,+*#ji&geez!b}|_z]xwvunWrUpSQQfkjiKaJ_HFbE`_AA\[ZY
    XQV9T764P3NML/JIHGF?D'&%##!=<;{3z1x/v-2s0/p-n+*)('&}f#d!b``uz][[pYnsrqSiRgPNNLLJfedF\EZCA]\[
    =S<Q:886644220L/JI++FEDCBA@9>!<}:{yy05v321r/.-,+*)"'hg$e"!b``{zyxwvutmVqToRPlkNihgfedcb[DCBW
    @>><<::8TSR4J3H1//--++))''%A@?!7~5:{87x5.u2s0/o-&m$)j'&ff{«c~a|_]]rwZutsVkpSnQPeNchgfH^G\ECC
    AA??==;;997S6QPO2MF/J-,A*((&&$$»"~~||zzxx/4u210q.-&+l)jig%$d«ybw|_zyx[vunsVUTRnmlNdMbKIIGGEa
    `B^W@U><<::88664PON0F/DI,GF)D'BA@9»=~}4{yy0wuus10/o'n%ljjh&%$dzcxa__]][wvXtmVkTRRPPNjMhgIIdc
    baZ_B]@[ZY;Q:OT7RQP3NMLKDI,+FED&<%:#!=<|:3z1xvvttrrppnnlljjh&g$#d!b}|{zyr[vYXVrqpRhQfOMMKKII
    GGEECCAA??=Y<WV88SRQPONGL/J-HGF(>'<A$?>=~;:9876/4utsq/pnn%*)i'~g|ec!b}|_z]xwvutsrkToRQOkjiKa
    J_HFFDDBB@\?==RWV8TM6K42NML.D-B+))'C&A@""=<;:9876/4u2s0/o-&m$)j'&%f#"!~}|{zsx[vuXsVqSShmlOdM
    hKJ_HFFDDBB@\[Z<R;P977553311//--++)E(CBA:#"!6}{{yyww.us10/o'n%ljjhhf$#«bxav_]yxwYoXmVTTRRPPN
    NLhKfeHFF[DC^]\>T=RW:UT7R5J32M0KJ-++F?D'&A@»>7~5:{87xvv32+rq.omm$)j'&g$e"!xa|_^\xwYunWlUSonm
    OeNcLJJHHFFDDBB@@>Z=XW99TSRKP3N10.J-HGF)DCB;@#"!6}{{y765u-t+rppn,+*j«i~geeccaa__]][wZutWUUpo
    nmfONihgI_H]bE`_B]@[ZYXQ:9T755JO200E.CHGF(>'<A$?>!<}:9876/4utsq/.-m%l#jhhf$#c!xav_]][[YuXsrU
    pSnmlkjchKJIGGEa`_AW@U><<::8TS5QJ3H1/KJI+A*?(&&$@#>=~||9876543,1rq.-m+$k»'h%$e«c~}|{zyxqvYXs
    VTTinmlNdMbgJedGbE`_^]\[ZYR;:9775QPO1M0EJ-HG*E>'B%$9»~~||zzxxvvttrrppn,m*)ii~%f#d!b``uz]xwvY
    nsVqTSQQOkjiKaJ_HFFDDBB@@>><<::886R5PON1LE.-H+))>'<A@?!7~5|z8y65v3t10).onmkkiiggeec!~}_u^s\Z
    ZXXVrqSohQfOMMKKIeHcbE`C^]V[>Y<;P977553311//--++)EDC%;$9«7~5:{876w432+rqpnn%lj('g%|ezcaa__]y
    \wvYtWrqpohmPkNMKKIIGGEECCAA??==;W:88MR5PON1LKJIHA*)(=&$$»>!<;|zz765432+0qpo&+*)i!h}fd"!~`v_
    t][[YutsUkTiRPPNNLLJJHdGbaD_B]\[ZYXQV9T76KP3NM//JIHGFED=&A$#8=~||3876v.u,1r/.-n+*)('&%|edcx}
    |^zs\qZXXVrqSohQfkNihKf_HGF[`_^@V?TY<::OT7RQ4OH10K.IH+F)>'B%@#!=<}4{z765u-t+r).o,+l)j'~%fedb
    ~a__ty\wvYtWrkpSRQfkNLLafIdcFaD_^W@?Z=;;PU8SR533NMLEJ-,G*((=B%@?"=~;:927xw43s10q(-,+k#j!hffd
    db~}_{t]r[YYWWUUSSQQOkNihKfIdcbaZCBA?[><<QVU7SL5J311//--++))''%%#?"=<}{{87654-2srqo-n+*k(i&%
    $#«y~a|_^sxwYunWlUSSQQOkjiKaJ_HFFDDBB@@>><<:V9TSR5PONMLKD-,+@)>C&$$9>!<;|92yx543s+r)p'n%lj(i
    &%f#zc~a`u^\\ZZXXVVTTRRPPNNLLafIdcbEZ_B]@?=Y<::OT7RQP3HM0K.-BG*((=B%@?>!<5|{z1xvvt2sqq(-,+k#
    j!hffddbb``^^\\ZvuWslUjoRmlOMMhg`eHGbECCX]@[Z=X;VUNS6Q4O200EJ-++@E(CBA$?>=6}:{8yww.3t10pp-,+
    *#(i&g$eccx}`{zy\wvutmrUpSnQOOdiLJJ_dGba`C^]\[ZS<W:U866KP3NM//JIHGFE>C&A$?»~~5:{876w43210/(-
    n+l)jhh}$eccx}`{zy\wvutsrqjSnQlOMMbgJedFFa`_^]\[ZSX;V9T755JO2MLK.IHGFEDCB;@#"!6}{{y765u3t+0q
    .-n+$k(i&geez!b``uz]xwvYnWrUpSQQfkNihJJe^cFaD_B@@UZ=XWV9TMR5P3200..,,**((&&$$""~<;:z2y0w.3t1
    0/p-,%l)jiggeecca}|{]s\qZXXVVTponPfOdMKgfeG]F[DBB@@>><<:V9TS55PONGL/J-H+))>C&A@?"=<;49zy6w43
    tr*qp-n+*kii~g$e«ca}|_t]x[vuWslUjoRmlNNibgJeHcFDDY^A\[Z=XQV9T76K4INML.D-B+))''%%##!!}}{9z765
    v32+rqp'nllj('&f|ezca}|{]s\qZXtsrTjShmPkjMKKfed]bEDCA]@[Z=X;VUTMR5P320LKJ,B+@)''%%##!!}}{{yy
    wwu321q)p',m*)(i&%$#zc~a|{]yr[pYWsVqpohQlOjMKK`I^cbD`YBW\?ZYX;PU8S653311//--+GFE'=&;$»"~~|:9
    y70w.ussqqo-n+*)j!&g$e"!~`v{zyx[voXWrUpoRmPkdMhKJHdGEEZ_^]?U>S<:VUT6L5J311//--++))''%A$?>~~;
    :38y6wvt2s0/.o,+$)j'hgeeccaa_{zy[qZoXmVTTRRPPeNLLJJHdGba`C^]\U>=X;VU86L5P32GLKJ,B+@)''%%##!=
    ~||3876v.u,sqqo-,+k#j!&g$#ccx}`{^y\ZZotWrqpShmPkNMKK`edFb[DYB@@>><<::88664PON0F/D-BG*EDC&A:#
    "!}}{{yyw543s+r)p'n%*k('h%f#«y~a|_^\\ZZXXmrqpRhQfOMiLJJ_dcEaZCXA?[ZY;Q:O8664PO1MF/DI,GFE(CBA
    :#»=~||38y65v3,srq(-n+*k(i~%f#dcaav_t][wvuWmVkTRRPPNNLLJJHHFFD`CAAV[>YXW:UN7R542N1//D-BG*((=
    B%@?>!<;49z7x5vtt+r).-,l$k"'h%$#d!~w|_z]\ZZoXVrqSohQfOMMKgfeG]F[DBB@@>ZYX:P9N75QPO1G0E.,,**(
    (&B%@?!!<;:3z7xwu3t10/p-,+$kj'h%$ecc~}|{ty\wZutVrkTinQlkMMhgfed]FaD_B@@UZ=XWV9TSRQPI21LKJ,B+
    @)''%%##!!}}{{yyw5v32sqq.-,+*)"'hg$#«bxav{^yx[vYtsrqpohmPONchKII^cFa`C^W@?Z=;;PU8SR5PI2M0/D-
    ++)EDC%;$9»~~||z876v.u,sqqoommk)j'&ff{d!ba_{^yxwZoXWVkTinmlNdMbgJedGbE`Y^A@?=YXW9O8M6442NM/K
    D-B+))''%A$?>!<}:38y6wv-21q/(o&mk)(h&}f{dbb``^^\\ZZXXVVTpSnmOOjihafIdGFD`C^]\?ZYXQV9T7R533HM
    LK-C,AF)DCB%@?>=6}|{2ywwuuss*q(om+*)i!h}fddbb``^^\\ZvYtsVTTonmlkdiLKJHdGbaD_B]\[ZYRW:U87L5J3
    H1/KJI+A*?D'BA@9"!<}{{2765u-t+0q.-n+l#jih}f{dy~a|{^y\qZuXWlUjonmOeNcLJfIdcbE`Y^A\?><<::88664
    PON0F/D-++))'CB$@9«7~||zzx6w432s0).onmk)(h&}f{db~}|^t]r[YYWWUUSSQQOOMMKgJHH]bE`_B]@[ZS<W:977
    L53ON0LE.C,**((&B%@?>!<;:38y6w432r*/.-,m*)('~gf#d!~a|_zyxwpYXWUqpoQgPeNLLJJHHFFDDBB@@UZ=XW:U
    8SRQPOHM0/.,HG)E>'<%#?»~~5:98x0w.ussq/p-,m*k('&%${«c~a`u^\\qZotWrqSSnmlkjibKfIdcbDZCX]@[ZY<W
    VUTSRK4O21//--++)E(&&;@?!=6}4{yywwuussq/p-,+$kjiggeec!~}_u^s\ZZXtsUqjShQOkNihKII^cFEDY^]\>T=
    RW:UT7R5JO21L/JI,G*E>'&A$?>!<}:3z7xwu321q)p'nlljjhhffddbb``^zyxZpYnsVqpRRmlejMhKfIGG\aD_^]@[
    ZSX;:977553311//--++)E(&&;@?>~6}49z76w4u210)po,mkk»'h%$ecc~}|{ty\[vuWslUjoRmlOjMhgfe^cFaDCXA
    ?[><<Q:O8MRQP2H1F/--++))''%%##!!};|987x54321*qp-n+*ki!hgfd"!~`|_ty\wvYtmVqTSQmPkjiLafIHG\ECC
    AA??==RWVU7M6K42NML.D-B+))'CBA#9«7~||zzxxvvttr0q.-nll)»ih%fddy~a|{^y\wpYXWUUSonmOeNcLJJHHFba
    `BXAV?==;;997S6QP311LKDI,+*(D'BA$?"=<5:{z7x54uss0/.'n+l)jh&%f#"!xa`{z\xqZotWrqTRRmlkjchKJeHF
    F[`C^]@[>YXWVOT7R542200..,HGF(>'<%:#8!}}{987w/v-2sqq(-n+*)j'&%$#zcb}`{z]x[vutsrqjoRQlOjiLgJe
    dcba`Y^A@?=YXW9O8M6K4I20L/--BGFE'=&;@#>=~;|9876543,s0qpnnlljjhhffddbb`|_]]rwZutVVqponmlkjchK
    fIdcbDZCX]@[ZY<WVUTSRQPIN1L/.,HGF(>'<%:#!!}}{{2ywwuussq/pnn%*k('&}f#d!b``uz]xwvoXsVUjonPlkNc
    LafedF\EZCAA??==;;997SRQ3I2G0..,H+FED'<%$#!!};:9y1x/vttrrppnnlljjh&g$#dbb}v{^]\ZvYtsVqTohmPO
    NchgIe^G\EC_^]?U>SX;VU8S6QPI210..,,*FED&<%:#!!}}{{yywwu3t10qoo,+*#(ihge#d!~a|_zyxqvYtWVTTinm
    OkdMbKIedFbaDY^]\>T=R;997SR4PI2G0..,HG)E>'<A$?>~~;:981x5vus1r/.-n+*)(!hg$e"!b``{zyxwpuXsVqTR
    nmPkjihg`eHcFa`B^W@UZ=XW99TSRQPOH1L/J-++@E(CBA$?>=<;:3zy654t,s*/p-,m*#jih}$#«b~av{^yx[voXWVT
    TRRPPNNLhgfH^G\ECCA]\[=S<QV9TS644IN10K.,,AF)DC&A$9>!~;|98y6w4-ts0q.-n+l)»i&gfd"!~`v_t]r[pYWs
    VqpoRmlejMLKIIGGEECCAA??==;W:88MRQP2H1FK.IH+F)DCB;$?"!6;|zz16w43ss0/.-&+l)j'hff{«c~}|_zyxwpu
    XWVTpSQQfOdMbgfeG]F[DBB@@>><<::88664P311FKJI+A*?D'BA$?»=<;:92yx54t2+r).o,+l)«i&gfd»!~`|_ty\w
    vuXmrUTShQOOMMKKIIGGEECCAA?[ZY;Q:OT7RQ4O2MF/.-B+@EDC%;$9>!<;|9z76/4uts*qoommkki'&f${dyb`|{]y
    r[pYWsVqpSnQlkdiLKJ_dcbDZCXA??==;;99775QPO1G0E.,,*F)''<A@?!7~5|z8y65vtt10/(onmk)j'&g$e"!~w`_
    zyxZpYnWUUSonmOeNcLJfedF\EZCXA??=Y<WV977RQPOHM0/J-++@E(CB%@#>=<;49zyxvvttrrp.-,l$k«iggeeccaa
    __]][wvuWmVkpSnmPkNihgfe^GbEDYBW\[Z<R;P97S6QPO2MLKJIHAF)D'&$$»"~~||z876v.u,sqqoom+*j(!h}fddb
    b`|_zyx[vutsrqjoRQlOMMbgfeG]F[`C^]@[T=<WV8TS6K4IN1LK.IB+*)'CBA#9«7~||zzx654t,s*qoommkkiigge#
    d!~a__t]\wvXtmVkpSnmPkNcLKJHHFFD`_^@V?T=;WVU7M6K42200..,,**(D'BA$»"=6;|{zx6w43t1r/(-nmljjhhf
    fd«caav{zy[qZoXVrqpRhQfOMMKgJHH]ba`BXAV?=Y<WV977RQJ321/K.IH+F)DC<%@#»7~||zzxxvvtt+0qoo&+l)('
    h%$#z!b}`_]][[YYWWUqTRRglkMibK`IGcFa`_B]\[TY<W:9N7L533HMLK-C,A*((&&$$""~~||zzx6wuu,1r/.nn+*)
    (!h%f#"!aw`uz]xwvYtsrqjSRQOkjiKaJ_H]F[DBB@@>Z=XW:U8SRQPOHM0/.,,**((&&$@?>~6}4{yyw5vtt+0/.n&m
    $kiig%$#cybw|_]]rwZutWrUponmlkdMhgJeHcEEZ_^AV?Z=XW9UN7LQ422GL/JIHA*E('%%##!!}}{987w/v-trrppn
    nlljjh&g$#ccx}`{^yxZvoXmrUponQfkNMLaJHHFba`BXAV?==;WVU7M6K4220L/--BGFE'=&;@#>=~;|92y6wvttrrp
    .-,l*k"'h%$#d!~w|_^yxZvoXmrUSShmPkjMhKfed]FaD_^]?U>S<::8866442200..,H+FE''BA@?8=~;|{y7x543t1
    0/.',m*kjh&geez!b}|{t]\wZXXmrqpRhQfOdMKgfeG]F[DBB@\[Z<R;P977553311//-I,**?D'BA$"«7~}:98x0w.3
    t10q.o&m*kjhhf$#»bxav_]][[YYWWUUSSQmPkjLLg`eHcFaDBBW\?ZYX;VOT7R54I2GLKJ,B+@)''%A$"«7<;:z2y0w
    uus1r/.-n+*#jihf$e»!b``{zyrwZYXmrUSShmlkMcLaJHHFFDDBB@\?==RW:UT7R5PONGL/J-,**(DCB$:#8!};:9y1
    x/vttrrppnnlljjh&geez!b}|^^yxwvoXsVqpoQgPejMhgfIdcbaZCB]@[Z=;;VUTSRKP3N1LK-IB+@E(CB$$?>=<;:3
    z7x5vtt+0q.-,m*)('&%|e"!b}`{]]rwvYnWVUSSQQOOMihJf_H]bE`_B]V?Z=<Q:8T755JON0LE.C,*F)DC%%:?"=~;
    :9y1x/4u210q(-nml#jh&g$#dbb}|uz]\wvuWmVkpSnmPkNihafIdGFDDBB@\?==R;PUTS5K4I200.JIH*@)>'%%##!=
    <|:3z1xvvttr0q.-mm*)(!h%f#"!aw`uz]xwvYtsrkTSRPPNNLhgfH^G\ECCAA??==;;997S6QP311LKJIBG*)DCB$:#
    8=~;:{8y6543,1rqp'nl*)i'~g|ec!~}_u^s\ZZXXVVTTRRPPNNLhKfeHcFa`_^]V?>Y<WV97M6542NML.J-BG*ED'B;
    $?"!}}{{y76v43t+0/o-&m$kiig%fddy~}_{t]rwZutVVkpSnQPNjMhgfI^cFE`CAAV[ZY;Q:OT755JO2ML/J-HA*)D'
    BA$""=<5:{8y654t,10/.o,+$)jihffddbb``^^\\ZZXXVrqpRhQfkNLLafIdcFaD_^]V?>YXW9O8M6442200.JIH*@)
    >'%A$?>!}}:98705vutr0q.-n+l)('&}$e«cbw`^zyxZpYnWUUSonmOeNcLJJHdcEaZCXA??==;W:UT66QPONMF/J-HG
    F(>'<A$?>=~;:9870w4ut+0/o-&m$kiiggeeccaa__]yxwYoXmrUponQlkjihg`eHcFECCX]@>>SX;VUT7RQPONMFK.I
    ,+@E(&&;@?>~6}49zxx/4u210)p-n+ljj!&g$#»yb}`_t][wvuWmVkTRRPPNNLLJJHHFFDDB^A\[Z=R;:97SRQ3I2G0.
    .,,**((&&;$">=};4{2yw5v32s0q.',m*k('g%|ezcaa__]][[YYWWUUSSQmPNNchKfeGGbaZC^A\[Z<R;PU8SRQ4ONG
    0/JIH*@)>'%%:?>=}5|3zx654t,s*qo-n+*k(i&%${«cb}|{]s\qZXXmrqSohQfkNihKfIdcb[`CBAV?=YXW9O8MR5PO
    200KJIHA*)(=B%@?»=~;:981xwvt210p(o&+l)(i&}f#dcaa__]][[pYWWUqpRngPeNLLJfedF\EZCAA??==R;9U8SRQ
    4IN10/--++)E(CB%##>7~}|3876v.u,sqqoommkkiig%$#cybw|_zy\wZunWVUSoRPPejiKg`I^GEECCAA??=YXW9O8M
    64P3NM0..IHAF)('%A$?>!<}:927x5vussqqoom+*j(!h}fddb~}|^t]r[pYnWUqTonPPkjibKfIdcbDZCX]@[ZY<WVU
    N7653ONM/K.CH+FE(C&A@?>7<}|{yywwu321q)p'nlljjhhf$#«bxav_]][wZXXmrqpRhQfOMMKgJedGbE`_^]\U>=X;
    VU86L5P32GL/JIHA*E('<%:#8=~;:9z16wvus10p.-n%*)i'~g|ecca}`^^sxwYunWlUSoRmlOjMhaJIHFba`BXAV?==
    ;WV8TM6K4220LKJ,B+@)''%%##!!};|98yww43,1rq.omm$)j'&g$e»!x}`{^yxwYoXmVTTRRPlkjLbK`IGcbaCYBW@>
    ><<::88664P3NM//JIHA*E(C&$$9>!<;:{876/vutrrppn,m*)jhh%$#«y~a`_tyxwYoXmVTTRnmlNdMbKIIGGEECCA]
    @[Z=X;VUTSLQ4O21//-IHG)?(=&$@?>~6}4{yywwuussqqo-n+*jj'&%$#zc~a`^z]xwvYtsrqpiRmPkjiKaJ_HFF[DY
    B@\[=YR;PU8SRQJ321/K.,,AFED&<%:#!!}}{{yywwuussq/p-,mkk»'hgfd«c~}`{^sx[ZYWsrqSiRgPNNLLJJHHFFD
    `_^@V?T=;;9U8SR5P3NMLKJC,+*((&&$$»"~~5:9y70w.3t10q.o,+*)('~%fe«caav_ty\ZZotWrqToRmlkjihafIdG
    F[DBB@@U><XWV8N7L53311//--++))'C&$$9>!<;:{8765432+rqpnnl*)(h~g|eccaa__]][[YutsUkTinQlkNibKJe
    HFF[`C^]@[T=X;:88M64PON0F/D-++))''%%##!!};|98xx/4u2s0qoo&+l)('h}$edcx}|^zy\qvYtsVqTohQlOjMKK
    `eHcbDD_^W\?Z=X;99NS6QPO2MLEJ-,G*((=BA#?8!6;|98y6w432+r/p-nll#(i&%ee»!~}v{^y\wZXXmrUponQlkji
    bgJIdGbaD_B]\[ZYR;VU8S6Q332MLKJIB+F)D'%%:?"=<||987654-2s0q.omm$)j'&%f#"!~}|uz]x[vYWWlqpoQgPe
    NLLJJHHFFDDBB@@>><X;VUTM65PON0F/D-+GFE'=&;$">=};4{2ywwuussqqoommk)('g}f{«c~}`{^s\wZYWsrTpiRg
    lOjiKKf_dGbE`CAAV[>YXW:UNS65P311FKJ,HA*?D'BA$?»=<5|9z7xvv-2s0/oo,+*#(i&g$eccx}`{zy\wvunsVUpS
    QQfkjiKaJ_dGbaD_B]\[ZS<W:U866KP3NM//JIHGF?D'B%@#!!6;|987x54321*/po,+*j«i~ge#»b~w`u^\\ZZXXVVT
    TRRPPNNLhKfeHcFa`_^]\U>Y<W:88MR5PO11LKJIHGF?D'B%@#!!6;|987x543210/(-nm*kii~%fddybw|{z\r[puXs
    rUpiRmPOMMbgfHd]F[DBB@\[Z<R;P977553311//--++)E(CBA$9"!~5|zzxxvv-21q/(o&mkkiiggeeccaa_{^yx[YY
    tmrUTonmOeNchKfeHcFaZ_B]@[><<QVUT6L5JO2MLK.IHA*)(&BA@«8!6}{{yywwuussqqoommk)j'&gee»!~w|_^y\Z
    ZotWrqToRmlkdiLgJIGGEa`_AW@U><<::8866442200.JIH*@)>C&A@?"=<;:3z7xwuussqqoommkk«iggeec!b``uzy
    xZpYnsVqpoRmlkjibgJIH]FDDY^]\>T=R;9977553311//--++)EDC%;$9>!<;|9z765432+rq.o,+l)j'&%$#»!x}`_
    ^s\ZZXXVVkTRRPlkMibK`IGGEECCAA??=Y<::OT7RQ4O2MLKJIHGF?(CB%@#>~~5:9z1x5vussqqoommk)('g}f{dbb`
    `^^\\ZvYWWlqTonmfONiLgfIdG\aDC^A\[>Y<QV9875QPO1G0E.,,**((&&$$""~~||z876v.u,1r/.o,m*#j'h%fddy
    ~a__t]r[puXsrqTonglONiLJJ_dGEEZ_B]\?Z=XWVO8S6Q422GL/--BG*EDC&A@?>7<}|{yywwuussqqoom+ljj!h}$e
    "!b}`{zyxwpYtWrUSShmPNNchKfedGba`_^]V[>=<:VUT6L5J311//-IHG)?(=&$$""~~||z8yww.321q)p',m*)j'h%
    $#"!~}v_z]x[YYnsVTTinQlkjMhgfedcbaZ_BA@U>S<QVUT6L5JO2ML/JC,G*)>'%%:?>=}5|3zxxv4uss*/.n,%l#jh
    hffddbb``^^\x[YYnsVqpoRgPONLLJfedF\EZCAA?[Z<XQ:O86644220L/JI,**E>C&%@#!!6;|98y6w4-2sr/.-m%l#
    jhhffddbb``^^\\ZZXXmrUSShmlkMcLafIdcFaD_^W@?><<::88664422G0..,,*F)''<A@?!7~5:{87x5v321*/p-n+
    ljj!&%$dzcxav_ty\wvuXsrqpiRQlOMMbgJHH]bE`_B]@[ZYXWPU8S65331MLK-C,A*(DCB$:#8!}}{{yywwuussq/p-
    ,+l)('&%${dc~a__ty\ZZotWrqToRmlkjihg`eHcFECCXAV[ZY;Q:OT755JO2MLK.IHGFEDCB;$#>!}}49z76w4-ts0q
    oo&+l)(i&g|#d!ba__]][[YYWWUUSSQQOkNLLafedF\EZ_B]\[>YR;:U8SR5P3NMFK.I,+@)''%%:?>=}5|3zxxvvttr
    rppnnllj('&f|ez!b}|{^yxwpYtWVkTinQlkjcLKfIGG\aDBBW\?ZY<W:OT7R542200EJIH*@)>'%%##!!}}{{yywwu3
    21q)p',m*)(i&}fe«caav{^\\qvYtsVqTonglOjMLJJHHFFDDB^]?[T=R;997755331MLK-C,A*(D'BA@#>=<5|{8yww
    .3trr).o,+l)j'&%${»cba__]yxwYoXmVTponPfOdMKKIIGGEECCA]@[Z=;;VUTSRQJO210.J-HG*E(CBA@?>7<}:{zx
    xv43s1*q(om+*)i!h}fddbb``^^\\ZZXXVrUponQlkjihgf_HGFD`_A]V?T=;;9UTS5K4I200..,,**((&&$@#>=~;4{
    z7xvv-2s0/p-&m*kjhhffddbb``^^s\ZZXXVrUSShmlkMcLafIdcbEZ_BA\[Z<R;P977553311//--++))'C&$$9«7<}
    :9z7x5.u2s0qoo&+ljj!&g$#»c~}v{^]xwvXnWlUSonmOeNcLJJHHFFDDBB@@>><<:V9TS6Q4ONMF/J-H+))>C&$$9>!
    <;:{8765.3tsr)pnn%*)(h~g|#dbbw|_zy\wZutsrqjSnQlOMMbgJHH]bE`_^A\[ZYXWPU87644220LKJ,B+@)''<%##
    !!}}{{yy05v32s0)p-nmkki'&f${dyb`|{]yx[putVrkTiRPlkMibK`IGGEECCAA??=Y<WVU8M6Q4311//--B+)ED&B;
    $9"~~||zzxxv432r*q(-n+*)j'~%fedbb``uzyxZpYnWUUSSQQOOMMKKIIGcbaCYBW\?ZY<W:UTM65P3NM0K.IHG@E('
    &$@#!!6;:9y1x/vttrrppnnlljjhhffd«c~}`{^yxwvoXsVqTRRglOMMbgJedcFa`_^]V[>=XWV8N7L53ONM/K.CHGF(
    >'<A$?>!<}:98765.u2s0qoo&+ljj!&g$#»c~}|{zyxqvYtWrqpRhQfkNihg`IdGF[DBBW\[=YR;P977553311//--+G
    FE'=&;@#>=<}4{8yxvvttrrppn,+*j«i~ge#»!aw`u^s\qZXtWrqpSnglONMKKIIGGEECCAA??==;WV8TM6KP311FK.I
    H+F)DC<%$?"=<}:{876/4ut10/o'n%ljjhhffddbb``^^sx[vuXsVqpongPkNiLJJ_dGEEZ_B]\[>YXWVUNS65P311FK
    .,,AF)DC&A$?>=<;:3z7x5vtt+0qoo&+l)('h%$#"!~}v{^y\[YYnWUUSonPleNcLJJHdGba`YB]@[ZY;Q:O866K4IN1
    LKJC,+F)''<A$"«7~5:98x0w.3t10qoo&+lk(igg|#d!~a|_ty\[ZXXVVkponPfOdMKKIIGGEECCAA??==;WVU7M6KP3
    NM0K.IB+F)(&&$@?!=6}4{yywwuussqqoom+*)i!h}$e»!~a|{ty\[ZoXVVTTinQlkNiLgfe^GbE`CAAV[><<QV9TSR5
    PONMFK.I,+))'CBA#9«7~|:98x0w.ussqqoommkki'h%$dd!~}|{zsx[vYXVrUponQlkjihg`eHcFECCAA??TYXW9O8M
    6442200..,,**(DCB$:#8!};|987x543210/(o,ml#jh&%e#zcxa__]][[YYWWUUSSQmlkMcLaJ_dGba`C^]\[ZYXWPU
    8S6QP2NG0E.,H+FED=&%@#!!6;|zz16w43t1r)p-nmkkiiggeeccaa__]][wvuWmVkpSnmlOjchKJeHFF[`CAAV[>YX;
    V9TSL5P3N1//DI,**?D'BA@#>=<5:{8yxvv-trrp.-m+$k»igge#d!~``{zyxwpuXsVqpoQgPejMhgfIdcba`Y^A@[ZY
    ;Q:O86R533HML.JC,A*((&&$$""~~||zzx654t,s*/p-,m*k('&%$#zc~a`^^\\ZvuWslUjSQQOOMMKKIIGGEaDBBW\?
    ZYX;VUTSRQPIN10/D-++))>C&A@#>!<;:98765.u2srp.-,l$k«iggeeccaa__]][[YutsUkTinQlkjcLgJI^cbD`YBW
    @>Z=XWV9NS6Q4311F/--+GF(D=&;$»>=<|4{2ywwuussqqo-n+*)j'~g$e"!a}v_t][[YutsUkTiRPPNNLLJJHH]FDDB
    B@\?ZYX;VUNS6Q4311FKJI+A*?(&&$$""~~||zzxxvvt2sqq(-n+*)j'&%|ed!b}|_z]xwvunsVqTSQQOOMMKgJHH]ba
    C_^AV[Z<XQ:O866442200..,H+FED'BA@?>7~}:{87x5v3210/.',ml)('g}f{dbb``^^\\ZZXXVVTponPfOdiLgfIdG
    ba`_^]\U>Y<W:88MR533H1FK.IHG*EDCBA@?>7<}:9z7x5uu,10q(onm$ki'&%e{dyb``^^\\ZvutVlUjSQQOOMMKKIe
    HFF[`C^]@[T=X;VUT6L5J31M0..C,AFED&<%:?"~~5:{876w.utsqq(ommkkii~%$#cybw`^^\\ZZXXVVTpSnmPkNibg
    JeHGEECCAA?[Z<XQ:O866442200..,HGF(>'<A$?>=~;:3zy6wuu,1rpp',m*)j'h%$#z!b}`{zy[qZoXVrqpRhQfOMM
    KKIIGGEECCAA??=Y<WVU8SRQPI21L/--BG*((=B%@?"=~;:98705v3tsqqo-,+k#j!hf$#«bxav_]][[YYWWUUSSQmPk
    jiLgfedcb[DC^A??TY<::OT7RQ4O2MLKJIHG@E(C&A@?!7~5|z876v4u,10/o'n%*k('&g$#»!~}|{t]\[pYWsrqSoRg
    lOjiLg`IdGFDDBB@@>><<::O866442N1//DIHG)?(=B%@?>!6;|9zyww.3trr).-,l$k«ig%$#cybw`^^\\ZZXXVVTTR
    RPlOMMbgJedcFaZCBAV?TY<WV9T7RQJO2M0/--++)ED&B;$9»~<;:z2y0wuussqqoo&mkk"'h%$#d!~}v_^y\wvYWmVU
    pSQQfkNLLafIdcFaDY^A@?==;;997SRQ3I2G0..,,**(D'%%:#8=~||3876v.u,1r/.o,m*#jihffddbb``^zyxZpYnW
    UqpoQgPeNcLaJHdGbaD_B]\UZ=X;VUT6L5J31MLK-C,A*((&&$$""~~||zzxxv4u210q.-,%lk(igg|#dbbw|_zy\wZu
    tsrkpSnQPNjihJ`I^GEaDBBW\[=YR;P9775QPO1G0E.,,**((&&$$">!<;:{87654-ts0qoo&+ljj!&g$#d!b}|{zyxq
    vYtWVkTRRPPNNcLafedF\EZCAA??==;;997755331M0KJIB+*EDC%;$9"~<}{{2y0543s+r).omm$)j'&g$ezc~a`^^\
    \ZZXtsrTjShQOOMMKKIIGGEaD_^]@[TY<;:8866442NM/KD-B+))''%%##!!};:z81x/4u21r/p-,%l)j'hff{«caav{
    ^yxwZutslqToRQOOdihgI_H]FDDBB@@>><<::88664P311FK.IHG*EDCB;$#>!<;|9z76543,1rq.o,+lj»i&g$#«b~a
    v{^yxwpYXWUqpoQgPeNLLJJHHFFDDBB@@>><X;99NS6QP3N1F/.-++))''<%#?>~<5|3zxxvvttrrp.-,l$k»'h%$e«c
    ~w|_^][[putsUkTiRPlkjLbK`IGcbD`YBW@>><<::8866442N1//DI,GF)D'BA:#»!}}{{yy0wu32r0)p'nlljjhhffd
    "!~`v_ty\wvYtWrqpinQPkjiKaJ_HFbECCXAV[ZY;Q:OT755JO2ML/J-HGFE>'&%##!!}}{{yyww.ussqqo-nll#('&f
    |ez!b}|_z]xwvutmrUTSQQOkjLhaJ_HFbaC_^AV[Z<XQ:O86RQP2H1F/--++))''%A$?>!<}:98765.ut10p.'n%*kii
    ~g|#d!~a|_zyxwvutmrUpoRmPkMMbgfI^GFEC_^]?U>S<::8866442200..,H+FE(C<%@#«7~5:98x0w.us10/o'n%lj
    jh&%e#zcxa__]][[YYWWUqpoQgPejMhgfI^GFEC_B@@UZ=XW:U8SLQ4O21F/--BG*((=BA@»8!6;|987x54-ts0qoo&+
    ljj!&g$#d!b}|{ty\wZYWWUUSSQQOOMMKKIIGcbD`YBW\?==RW:UTS6QPONG0/J-HG*E(CBA@?8=~;|987w5v-2s0/.'
    nmljj!&%$dzcxa_{zy[qZoXVrqSohQfOMMKKIIGGEECCA]\[=S<QV9TS6Q4I2M0KJI+A*?(&&$@?>~6}4{yyw543s+r)
    pnnlljjhhffd«c~}|_zsx[ZuXVVkpSQQfOdMbgJedGbE`_XA\?Z=;;PU866KP3NML/JIHAF)D'&$$»>=<|4{2ywwu321
    q)p'nlljjhhff{«c~}|_zyxwpYtWVTTRRPPNNLLJJ_dcbDZCXA??==;;99775Q4ONM0KJIHG@E('BA@»8!6}{987w/v-
    trrppnnlljjhhffddb~a|{^y\wvutsrkToRQOkNLLaJ_H]ba`BXAV?==;;9977553311//-I,GFE>'B%$""~~||z876v
    .u,sqqoommkkiig%f#"!bw|_z]\ZZoXVrqpRhQfOMMKKIIGGEECCAA?[><<QV9TSR5PI2M0/-IH*F?(=&$$""~~||zzx
    6wuu,s*qoommk)j'&%f#«y~a`_]yxwYoXmVTpSQQfkjLhaJ_HFFD`_^@V?T=;;997755331M0KJ-H+FED=&A$?»~~5:{
    yy05v321r/.-,%*kji~geeccx}`{z]x[vutsrkToRmPNNchKII^cFa`_B]\[ZYXQV9TS6Q4O11FKJ-B+F)(&&$$">=<|
    4{2yw543s+r)pnnlljjhhf$e"!~w`_z][[puXVVkTinQlkNLLafIHcbD`YBW\?ZY<W:OT7R5P311FKJ,HG*?D'BA@#>7
    ~;|{yywwuussqq(-,+k#j!hffddbb``^^\x[vutWrqjoRmPOMihgI_H]FDDB^]\>T=R;9977553311//--BG*EDC&A@?
    8!~}4{2ywwuus10p.'n%ljjhhffddbb``^zyxZpYnsVqpSnQlkjibgJIdcbDZCXA?[><<Q:OTSR4J3HM0..CH+FE(C&A
    @?>=6}|{yywwuussqqoo&mkkiig%fddy~}|^t]rwZutWrUponmlkdiLgJedFb[DYB@\[Z<R;P977553311//--++))'C
    &A@?"=<;:9870wv32r0)p'nl*kii~%f#«c~w`_^\\ZZXXVVTTRRPPNNLhKII^cbaCYBW\?ZY<W:OT7R54220LK-IB+@)
    ''%A@?!7~5|zzxxvvttr0q.-,m*#ji&geez!b``uz]xwZuXsrkpSnQPNjihJ`I^GEECCAA??==;;99775Q422GL/JIH+
    FED=&A$#8!6;|9870wv3trr).omm$)j'&g$ez!b}`_]]rwvuWmVkTRRPPNjihJ`I^GEECCAA??=Y<::OTSR4J3HM0KJI
    ,G@)(C&$$9>!}}49z76w4u21*/ponlljjh&geez!~}_u^s\ZvutVlUjSQQOOMMKKIeHcbECC^]\[TY<;:8T7RQ4O2MLK
    JCH+FE(C&A##8=<}4{8y65u3,10/.'nml#jhhff{»!~`v_t][[YutsUkTiRPPNNLLJJHHFFD`C^]@[>S<;V977LQ4ON1
    //JCHGF)D&&;@#>=~;|92765vussq/.-m%l#jhhf$#«bxav_]y\ZZoXW2qjiR.-e=)KgJ%^]F!~C}W@[ZY;WPbTSqK#m
    2k}ih,gTF)bPO%:»K7I54zW7gvv-sr*N.'JI[6FE&fUeAR>P+u:9[[pYW3lkS/.QyON*bKJ%dcF!m_^W@>-<;W:sN6%4
    ]n[MjEWz,GFd'&s`#L]~6;|WW7UBeuc1qNpLJIk6FEgD1{zyQ=|*:([775WVrUSoAQ,Od*KJJ%HFF!!}}|?.Z=;QPtTq
    %4o31kj/WIyfSRbC<`MLo\<|k{2V0fv-Qb=q.o&JH#G4~V$Bdy>P_;](x8vH5«3UpSh.fe=ib(J%7cF!`2B{i.Z<wuPt
    'qLQn»2~YK-hBG)ccC<NM]K7}|Y{i1U/Ad2sO/LoJIkZFEhf$TA!~>+{]]88Y6XslT0B.zl,=<;(J%d]F!`}BW@yyY+d
    tO8Mq5PINkjih-BTecQCa`qp>J~5XzW165eR,bO/L^m8[6j'D%UBdc>}`N^9x&vonF2qCSRmf>M*;J&8^]\n~}}@?[xY
    +:Pt8S6o]3l~Y..,,*@RQ

    ~English



    Весьма литературный язык программирования, если можно так выразится. В качестве синтаксиса используются фразы из реального английского языка, что дает пользователю некую свободу действий. А ключевые слова обладают несколькими синонимами.

    Типы операций в языке ~English:

    Операция Обозначение
    Declaration Установление новой переменной общего типа
    Display Отображение числа или строки
    Function call Вызов функции
    If… Else Условная операция
    Stop Остановка программы. Все, что следует за «Stop» игнорируется, при этом «Stop and do something else» будет синтаксически действительной.
    While Предоставление цикличности. Цикл не будет прекращен пока не будут указаны определенные параметры для этого

    Пользователь не может самостоятельно определять функции, ибо их набор уже встроен в язык:

    • to number
    • to string
    • get input
    • ask

    Программа «Hello world!» на языке ~English:
    Display «Hello world!» and a newline.
    Stop the program.

    ArnoldC



    Весьма забавный язык программирования, написанный Лаури Хартиккой, видимо фанатом Арнольда Шварценеггера. Так как все команды на данном языке это цитаты персонажей из разных фильмов, которых играл Арни.

    Например, эквивалентом True является NO PROBLEMO, а False — I LIED.

    «Hello World!» на языке ArnoldC:
    IT'S SHOWTIME
    TALK TO THE HAND «Hello World!»
    YOU HAVE BEEN TERMINATED

    Shakespeare



    Шекспир и его труды будут жить вечно. С этим согласны и создатели следующего языка программирования Джон Аслауд и Карл Хассельстром. В их творении код программы выглядит как кусочек пьесы небезызвестного драматурга. При этом у всего есть свое программное значение. Струкрура кода программы на данном языке выглядит примерно так:

    Эпиграф — первый абзац текста (компилятор расценивает его как коментарий);

    Персонажи пьесы — секция обозначения переменных, каждая из которых может содержать только целое число. (Вид: Name (имя переменной), Description (описание переменной, игнорируется компилятором));

    Акт и сцены — обозначаются римскими цифрами, нужны как метки для оператора безусловного перехода.

    Пример (текст после двоеточия считается коментарием):
    Act I: Hamlet's insults and flattery.
    Scene I: The insulting of Romeo.

    Enter, Exit и Exeunt. Переменнные (персонажи), которые будут участвовать в пьесе, должны сначала быть вызваны (команда Enter). При этом может участвовать только 2 переменные, то есть необходимо удалить лишнего персонажа с помощью команды Exit. Когда акт заканчивается или нужно удалить со сцены сразу несколько персонажей используется команда Exeunt.

    Примеры:
    [Enter Juliet]
    [Enter Romeo and Hamlet]
    [Exit Hamlet]
    [Exeunt Romeo and Hamlet]
    [Exeunt]

    «Hello, World!» на языке программирования Shakespeare:
    Romeo, a young man with a remarkable patience.
    Juliet, a likewise young woman of remarkable grace.
    Ophelia, a remarkable woman much in dispute with Hamlet.
    Prince Hamlet, the flatterer of Andersen Insulting A/S.

    Act I: Hamlet's insults and flattery.
    Scene I: The insulting of Romeo.
    [Enter Hamlet and Romeo]
    Hamlet:
    You lying stupid fatherless big smelly half-witted coward! You are as
    stupid as the difference between a handsome rich brave hero and thyself!
    Speak your mind!
    You are as brave as the sum of your fat little stuffed misused dusty
    old rotten codpiece and a beautiful fair warm peaceful sunny summer's
    day. You are as healthy as the difference between the sum of the
    sweetest reddest rose and my father and yourself! Speak your mind!
    You are as cowardly as the sum of yourself and the difference
    between a big mighty proud kingdom and a horse. Speak your mind.
    Speak your mind!
    [Exit Romeo]
    Scene II: The praising of Juliet.
    [Enter Juliet]
    Hamlet:
    Thou art as sweet as the sum of the sum of Romeo and his horse and his
    black cat! Speak thy mind!
    [Exit Juliet]
    Scene III: The praising of Ophelia.
    [Enter Ophelia]
    Hamlet:
    Thou art as lovely as the product of a large rural town and my amazing
    bottomless embroidered purse. Speak thy mind!
    Thou art as loving as the product of the bluest clearest sweetest sky
    and the sum of a squirrel and a white horse. Thou art as beautiful as
    the difference between Juliet and thyself. Speak thy mind!
    [Exeunt Ophelia and Hamlet]

    Act II: Behind Hamlet's back.
    Scene I: Romeo and Juliet's conversation.
    [Enter Romeo and Juliet]
    Romeo:
    Speak your mind. You are as worried as the sum of yourself and the
    difference between my small smooth hamster and my nose. Speak your
    mind!
    Juliet:
    Speak YOUR mind! You are as bad as Hamlet! You are as small as the
    difference between the square of the difference between my little pony
    and your big hairy hound and the cube of your sorry little
    codpiece. Speak your mind!
    [Exit Romeo]
    Scene II: Juliet and Ophelia's conversation.
    [Enter Ophelia]
    Juliet:
    Thou art as good as the quotient between Romeo and the sum of a small
    furry animal and a leech. Speak your mind!
    Ophelia:
    Thou art as disgusting as the quotient between Romeo and twice the
    difference between a mistletoe and an oozing infected blister! Speak
    your mind!
    [Exeunt]

    Chef



    Язык был создан в 2002 году Давидом Морган-Маром, которого мы уже знаем. Chef (т.е. Шеф в переводе с английского) — язык для любителей кулинарии. Текст, то есть код, программы на данном языке имеет вид рецепта. А основными принципами Chef являются:

    • Программные рецепты должны не только генерировать верные исходные данные, но должны быть легкими для приготовления и вкусными;
    • Рецепты должны подходить для поваров с любым бюджетом;
    • Рецепты должны быть метрическими, но также могут использовать классические меры измерения как чашки и чайные ложки.

    «Hello, World!» на языке программирования Chef:
    Hello World Cake with Chocolate sauce.

    This prints hello world, while being tastier than Hello World Souffle. The main
    chef makes a " world!" cake, which he puts in the baking dish. When he gets the
    sous chef to make the «Hello» chocolate sauce, it gets put into the baking dish
    and then the whole thing is printed when he refrigerates the sauce. When
    actually cooking, I'm interpreting the chocolate sauce baking dish to be
    separate from the cake one and Liquify to mean either melt or blend depending on
    context.

    Ingredients.
    33 g chocolate chips
    100 g butter
    54 ml double cream
    2 pinches baking powder
    114 g sugar
    111 ml beaten eggs
    119 g flour
    32 g cocoa powder
    0 g cake mixture

    Cooking time: 25 minutes.

    Pre-heat oven to 180 degrees Celsius.

    Method.
    Put chocolate chips into the mixing bowl.
    Put butter into the mixing bowl.
    Put sugar into the mixing bowl.
    Put beaten eggs into the mixing bowl.
    Put flour into the mixing bowl.
    Put baking powder into the mixing bowl.
    Put cocoa powder into the mixing bowl.
    Stir the mixing bowl for 1 minute.
    Combine double cream into the mixing bowl.
    Stir the mixing bowl for 4 minutes.
    Liquify the contents of the mixing bowl.
    Pour contents of the mixing bowl into the baking dish.
    bake the cake mixture.
    Wait until baked.
    Serve with chocolate sauce.

    chocolate sauce.

    Ingredients.
    111 g sugar
    108 ml hot water
    108 ml heated double cream
    101 g dark chocolate
    72 g milk chocolate

    Method.
    Clean the mixing bowl.
    Put sugar into the mixing bowl.
    Put hot water into the mixing bowl.
    Put heated double cream into the mixing bowl.
    dissolve the sugar.
    agitate the sugar until dissolved.
    Liquify the dark chocolate.
    Put dark chocolate into the mixing bowl.
    Liquify the milk chocolate.
    Put milk chocolate into the mixing bowl.
    Liquify contents of the mixing bowl.
    Pour contents of the mixing bowl into the baking dish.
    Refrigerate for 1 hour.


    Ook!



    Еще одно творение Давида Моргана-Мара. Данный язык очень схож с Brainfuck, за исключением того, что все инструкции были заменены на слова орангутана, да-да, большой рыжей обезьянки — “Ook.”, “Ook?” и “Ook!”. Различные комбинации из этих слов и составляли определенные команды.

    Ook! команда Описание
    Ook. Ook? Переместите указатель вправо
    Ook? Ook. Переместите указатель влево
    Ook. Ook. Увеличение ячейки памяти под указателем
    Ook! Ook! Уменьшение ячейки памяти под указателем
    Ook! Ook. Вывод символа из ячейки под указателем
    Ook. Ook! Ввод символа и размещение его в ячейке под указателем
    Ook! Ook? Перескочить к Ook? Ook! если ячейка под указателем равна 0
    Ook? Ook! Перескочить обратно к Ook! Ook?

    «Hello, world!» на языке программирования Ook!:
    Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
    Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
    Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
    Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
    Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
    Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
    Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
    Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
    Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.

    reMorse


    Сэмюэл Морзе

    Те, кто любит старые добрые технологии, оценят и этот язык программирования, так как эго базисом стал язык Морзе. В нем имеется 4 инструкции:

    • Dash / тире(-);
    • Dasher / уделенное тире (пробел-);
    • Dot / точка (.);
    • Dotty / продленная точка (пробел.)

    В более поздней версии reMorse2 использовались следующий синтаксис: "..", ".-", "-." и "".

    Внешний вид программы «Hello, World!» на языке программирования reMorse:
    — — — ..- ...-.---.;newline
    — — — .-. — ..-.- ...-. ---.;!
    — — — ...-.. -.---.;d
    ----... -.---.;l
    ----.. -...---.;r
    ----. -...---.;o
    ----...-.- ..-. ---.;W
    omitted code for «Hello » is similar to the above for «World!»
    -..............;output all characters

    l33t



    Интернет стал колыбелью для многих вещей (блоги, вайны, темы и т.д.), в том числе и для необычного способа общения - l33t sp34k (leet speak) — это использование цифр, иных букв в словах и фразах, а так же намеренные ошибки. Когда-то, этот «язык» был способом общения хакеров и всех, кто не хотел чтобы их переписка получила огласку, то есть, своего рода, шифрование. Но сейчас примеры такого написания слов можно встретить повсеместно во всей мировой паутине.

    Стивен МакГли и Алекс Мол решили создать свой язык программирования на основе l33t sp34k, так появился l33t. Как и многие другие эзотерические языки программирования, этот также крайне сложен в практическом использовании.

    «Hello, World!» на языке программирования l33t:
    // «Hello World» by Stephen McGreal.
    // Note that the views expressed in this source code
    // do not necessarily coincide with those of the author :o)

    Gr34t l33tN3$$?
    M3h…
    iT 41n't s0 7rIckY.

    l33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.
    1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p
    w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

    Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!
    g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!!
    I'M teh fr4GM4stEr aN I'lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE***
    wItH y0uR h1dE!!! L0L0L0L!
    t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$

    l33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$…
    s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y'r3 ju$t
    n0rMal lEE7 5pEEk but th3y're 5ecRetLy c0dE!!!
    n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!
    50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf,
    0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4!!! hE i5 teh u8ER!!!
    1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.
    1t 3v3n MiTe jUs7 s4y «H3LL0 W0RLD!!!» u ju5t cAn'T gu3s5.
    tH3r3's n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t,
    1s whAt th1s 1s!!!

    5uxX0r5!!!L0L0L0L0L!!!

    Omgrofl



    Еще один юморной язык, созданный Юрай Борза. Основой этого языка стали интернет акронимы (первые буквы каждого из слов в определенной фразе), такие как lol, wtf, brb, stfu и т.д. Даже название языка программирования это акроним — Omgrofl — oh my god rolling on the floor.

    Вот какой вид имеет исходный код программы «Hello, World!»:
    w00t a Hello, World! program by poiuy_qwert
    lol iz 72
    rofl lol
    lol iz 101
    rofl lol
    lol iz 108
    rofl lol
    rofl lol
    lool iz 111
    rofl lool
    loool iz 44
    rofl loool
    loool iz 32
    rofl loool
    loool iz 87
    rofl loool
    rofl lool
    lool iz 114
    rofl lool
    rofl lol
    lol iz 100
    rofl lol
    lol iz 33
    rofl lol
    stfu

    Velato

    Даниэль Темкин создал зык программирования, основой которого стали MIDI файлы, то есть звуковые файлы. Каждая из команд в исходном коде определяется положением и порядком нот.

    «Hello, world!»:



    INTERCAL


    Джеймс Лайон

    Один из самых ранних эзотерических языков программирования. Был выпущен в 1972 году Доном Вудсом и Джеймсом Лайоном. По словам создателей название языка звучит следующим образом: Compiler Language With No Pronounceable Acronym — язык программирования с непроизносимым акронимом.

    Именно INTERCAL стал праотцом таких языков как Befunge, Brainfuck, Malbolge и других сложных в исполнении.

    В INTERCAL имеется много забавных и парадоксальных команд, таких как PLEASE ABSTAIN FROM CALCULATING («пожалуйста, воздержись от вычислений») или PLEASE GIVE UP («пожалуйста, сдавайтесь»). А некоторые символы носят уникальные имена: = (уши кролика), ‘’ — полрешетки (половина символа #).

    Исходный код «Hello, World!» на языке программирования INTERCAL:
    DO ,1 < — #13
    PLEASE DO ,1 SUB #1 < — #238
    DO ,1 SUB #2 < — #108
    DO ,1 SUB #3 < — #112
    DO ,1 SUB #4 < — #0
    DO ,1 SUB #5 < — #64
    DO ,1 SUB #6 < — #194
    DO ,1 SUB #7 < — #48
    PLEASE DO ,1 SUB #8 < — #22
    DO ,1 SUB #9 < — #248
    DO ,1 SUB #10 < — #168
    DO ,1 SUB #11 < — #24
    DO ,1 SUB #12 < — #16
    DO ,1 SUB #13 < — #162
    PLEASE READ OUT ,1
    PLEASE GIVE UP

    BIT

    Очень сложный язык программирования, позволяющий пользователю оперировать всеми данными, которые представлены на языках «высокого уровня» с различными специализированными функциями, которые работают с более сложными и абстрактными типами данных.

    Лишь кусочек кода программы «Hello, World!»:
    LINENUMBERZEROCODEPRINTZEROGOTOONELINENUMBERONECODEPRINTONEGOTOONEZEROLINENUMBE
    RONEZEROCODEPRINTZEROGOTOONEONELINENUMBERONEONECODEPRINTZEROGOTOONEZEROZEROLINE
    NUMBERONEZEROZEROCODEPRINTONEGOTOONEZEROONELINENUMBERONEZEROONECODEPRINTZEROGOT
    OONEONEZEROLINENUMBERONEONEZEROCODEPRINTZEROGOTOONEONEONELINENUMBERONEONEONECOD
    EPRINTZEROGOTOONEZEROZEROZEROLINENUMBERONEZEROZEROZEROCODEPRINTZEROGOTOONEZEROZ
    EROONELINENUMBERONEZEROZEROONECODEPRINTONEGOTOONEZEROONEZEROLINENUMBERONEZEROON
    EZEROCODEPRINTONEGOTOONEZEROONEONELINENUMBERONEZEROONEONECODEPRINTZEROGOTOONEON
    EZEROZEROLINENUMBERONEONEZEROZEROCODEPRINTZEROGOTOONEONEZEROONELINENUMBERONEONE
    ZEROONECODEPRINTONEGOTOONEONEONEZEROLINENUMBERONEONEONEZEROCODEPRINTZEROGOTOONE
    ONEONEONELINENUMBERONEONEONEONECODEPRINTONEGOTOONEZEROZEROZEROZEROLINENUMBERONE
    ZEROZEROZEROZEROCODEPRINTZEROGOTOONEZEROZEROZEROONELINENUMBERONEZEROZEROZEROONE
    CODEPRINTONEGOTOONEZEROZEROONEZEROLINENUMBERONEZEROZEROONEZEROCODEPRINTONEGOTOO

    ZOMBIE



    И снова творение Давида Моргана-Мара. По его словам этот язык Zombie-Oriented Machine-Being Interface Engine был создан специально для некромантов, особенно для злых. Основой кода являются различные существа (зомби, вампиры, духи, демоны или джины), которые выполняют соответствующие им заданные команды.

    «Hello, World!» по-некромантски:
    HelloWorld is a zombie
    summon
    task SayHello
    say «Hello World!»
    animate
    animate

    HQ9+

    Видимо, самый короткий язык программирования, был создан в 2001 году Клиффом Л. Биффли. Язык состоит всего из 4 инструкций:

    H — вывести на экран «hello, world»;
    Q — вывести на экран исходный код;
    9 — вывести на экран текст песни «99 Bottles of Beer»;
    + — увеличить регистр

    Эпилог



    Это далеко не все языки программирования, который могут вызвать у Вас улыбку, удивление или даже озадаченность своей необыкновенной сложностью или простотой. Сама суть эзотерических языков состоит в том, что они создаются не с целью выполнять какие-то точные команды, а с целью расширить границы возможного в сфере языкописания. Как видите, программисты не лишены чувства юмора или творческого подхода. Надеюсь данный обзор порадовал Вас, а может даже сподвиг создать свой язык программирования. Экспериментируйте, творите и никогда не сдавайте. Приятного Вам дня и чистого исходного кода.

    На правах рекламы.Акция! Только сейчас получите до 4-х месяцев бесплатного пользования VPS (KVM) c выделенными накопителями в Нидерландах и США (конфигурации от VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD или 4TB HDD / 1Gbps 10TB — $29 / месяц и выше, доступны варианты с RAID1 и RAID10), полноценным аналогом выделенных серверов, при заказе на срок 1-12 месяцев, условия акции здесь, cуществующие абоненты могут получить 2 месяца бонусом!

    Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
    ua-hosting.company 96,51
    Хостинг-провайдер
    Поделиться публикацией
    Комментарии 29
    • +1

      Вот из-за этого HQ9+ codegolf.stackoverflow.com и ввели правило по поводу придумывания дополнительных языков для решения задач, в которых один оператор языка решает конкретную задачу.

        • +3
          Посмотрел /examples — это просто офигительно.
          • 0
            Лицензия тоже хороша! Джва года такую ждал До этого не мог решить, как бы удачно «подогнать» расшифровку под лицензию. :)
        • –1

          Я протестую. В статье не упомянут FiM++, как же так жить, без пони-то. :)

          • 0
            Folder и Folders тоже не упомянуты. И это печально
          • –2
            Данный язык является тьюринг-полным, потому может использоваться наравне с Java или Pascal, например.

            Ну что вы, разве полнота по Тьюрингу означает, что можно использовать такой язык «наравне»?
            • –1

              А где в списке ДРАКОН? https://habrahabr.ru/post/180709/
              Выглядит он вот так:
              image

              • –1

                И при этом, в отличие от приведённых примеров, он не только неординарный и необычный, но ещё и реально применяется на практике.

                • +1
                  Сегодня мы с вами вместе приподнимем брови в удивлении, ознакомившись с самыми нелепыми и смешными языками программирования.

                  Собственно, обычный визуальный ЯП — чего ему в этом списке делать-то?

                • +1
                  Он как бы маленько не эзотерический.
                  • 0

                    Ну, тогда unLambda https://habrahabr.ru/post/143818/


                    ``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`k
                    s``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`
                    ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk
                    `ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`k
                    k`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk`ki`
                    `s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kk`k.*
                    ``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kk`k
                    i``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`kk``s`kk`
                    kr``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk
                    `ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`k
                    k`ks``s``s`ks``s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s`
                    kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s``s`ks``s
                    `kk`ks``s``s`ks``s`kk`kk``s`kk`ks``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``
                    s`kk`kk``s`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks`
                    `s`kk`kk`ki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk
                    `kk``s`kki``s``s`ks``s``s`ks``s`kk`ks``s``s`ks``s`kk`kk``s`kk`kk``s``s`ks``s`kk`
                    kk`ki

                    В этом языке мне нравится — идея использовать в функциональном программировании Лямбда-комбинаторы.
                    И огорчает, то что автор ради эзотеричности превратил его в брэйн-фак, вместо того чтобы сделать язык пригодный для практического применения.

                • +4
                  большой рыжей обезьянки
                  — за это Библиотекарь оторвёт вам руки
                  • +3
                    А где же
                    JavaScript?
                    a=Array();
                    a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+ 
                    a)[!+a+!+a+!+a]+(!!a+a)[+!+a]][(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!
                    +a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a
                    )[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!
                    !a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[
                    +!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[
                    +a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a
                    )[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!
                    !a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]]((!a+a)[+!+a]+(!a+a)[!+a+!+a]+(!!a+a)[!+a
                    +!+a+!+a]+(!!a+a)[+!+a]+(!!a+a)[+a]+(!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+
                    a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[!+a+!+a+[+a]]+(a+a)
                    [(!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]
                    +(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!!a+a)[+a]+(a[(
                    !a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a
                    ]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)
                    [!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!a+a)[!+a
                    +!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+
                    a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]]()[+!+a+[!+a+!+a]]+a[(!
                    a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]
                    +(!!a+a)[+!+a]][(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]
                    +(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a
                    ])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+
                    !+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[
                    +a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a
                    +!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a
                    ])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+
                    !+a+[+a]]+(!!a+a)[+!+a]]((!!a+a)[+!+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(a[a]+a)
                    [+a]+(!!a+a)[+!+a]+(a[a]+a)[+!+a]+(+[!a]+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a
                    +a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+!+a]]+(a[a]
                    +a)[+a]+(a[a]+a)[+!+a]+(!!a+a)[!+a+!+a+!+a]+(!a+a)[!+a+!+a+!+a]+(a[(!a+a)[+a]+([
                    !a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!
                    +a]]+a)[!+a+!+a+!+a]+(!a+a)[+!+a]+(+(!+a+!+a+[+!+a]+[+!+a]))[(!!a+a)[+a]+(!!a+a[
                    (!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+
                    a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(+!a+(a+a)[(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!
                    a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!
                    !a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!
                    +a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a
                    ]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a
                    ]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!
                    !a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!
                    +a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+a]+(!!a+a
                    )[+!+a]+([!a]+a[a])[+!+a+[+a]]+(a[a]+a)[+!+a]+(+!a+[!a]+(a+a)[(a[(!a+a)[+a]+([!a
                    ]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a
                    ]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a
                    +a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+
                    a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a
                    +[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+
                    a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a
                    +a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[!+a+!+a+
                    [+a]]](!+a+!+a+!+a+[+!+a])[+!+a]+(!!a+a)[!+a+!+a+!+a])()(a[(!a+a)[+a]+([!a]+a[a]
                    )[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]][(a[
                    (!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+
                    a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a
                    )[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[
                    +!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+(
                    [!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+
                    !+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a
                    )[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+
                    !+a]]((!!a+a)[+!+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(a[a]+a)[+a]+(!!a+a)[+!+a]+
                    (a[a]+a)[+!+a]+(+[!a]+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a
                    )[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+!+a]]+(!!a+a)[!+a+!+a+!+a]+(!a
                    +a)[!+a+!+a+!+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a
                    ]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!a+a)[+!+a]+(+(!+a+!+a+[+
                    !+a]+[+!+a]))[(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+
                    a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(+!a+(a+a)[(a[(!a
                    +a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+
                    (!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!
                    +a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+
                    a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a
                    ]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a
                    ]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!
                    +a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a
                    ]])[+!+a+[+a]]+(!!a+a)[+a]+(!!a+a)[+!+a]+([!a]+a[a])[+!+a+[+a]]+(a[a]+a)[+!+a]+(
                    +!a+[!a]+(a+a)[(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+
                    (!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a]
                    )[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!
                    +a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+
                    a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+
                    !+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a]
                    )[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!
                    +a+[+a]]+(!!a+a)[+!+a]])[!+a+!+a+[+a]]](!+a+!+a+!+a+[+!+a])[+!+a]+(!!a+a)[!+a+!+
                    a+!+a])()((a+a)[([!a]+a[a])[+!+a+[+a]]+(!!a+a)[+a]+(!a+a)[+!+a]+(!a+a)[!+a+!+a]+
                    ([!a]+a[a])[+!+a+[+a]]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a
                    +a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!a+a)[!+a+!+a+!+a]]
                    ()[+a])[+a]+(!+a+!+a+!+a+!+a+[!+a+!+a+!+a+!+a+!+a+!+a+!+a+!+a])+a)+(!!a+a)[!+a+!
                    +a+!+a]+(!a+a)[!+a+!+a]+(!a+a)[!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]
                    +(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+[a]
                    [(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+
                    a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(
                    !a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]
                    +a)[+!+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+
                    a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!a+a)[+!+a]+(!!a+a)[+a]]([a])+a+
                    (+[!a]+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!
                    +a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+!+a]]+(+(!+a+!+a+!+a+[!+a+!+a]))[(!!a+a)[+a]+
                    (!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a
                    +!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(+!a+(a+a)[(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[
                    +a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+
                    !+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a
                    )[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!
                    a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[
                    !+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)
                    [+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a
                    )[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+a]
                    +(!!a+a)[+!+a]+([!a]+a[a])[+!+a+[+a]]+(a[a]+a)[+!+a]+(+!a+[!a]+(a+a)[(a[(!a+a)[+
                    a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+
                    a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+
                    a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!
                    a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a
                    ])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)
                    [!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+
                    a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[!
                    +a+!+a+[+a]]](!+a+!+a+!+a+[!+a+!+a+!+a])+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]
                    ]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!
                    !a+a)[+!+a]+(!a+a)[!+a+!+a]+(a[a]+a)[!+a+!+a]+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]
                    ]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]][(a[(!a+a)[+a]+
                    ([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[
                    +!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+
                    (!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a
                    )[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[
                    +!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+
                    a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+
                    (!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]]((!!a+
                    a)[+!+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(a[a]+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+!
                    +a]+(+[!a]+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+
                    a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+!+a]]+(a[a]+a)[+a]+(a[a]+a)[+!+a]+(!!a+a)
                    [!+a+!+a+!+a]+(!a+a)[!+a+!+a+!+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+
                    a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!a+a)[+!
                    +a]+(+(!+a+!+a+[+!+a]+[+!+a]))[(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+
                    a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+
                    (+!a+(a+a)[(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a
                    +a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!
                    +a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[
                    +a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(
                    a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+
                    !+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!
                    +a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[
                    +a]]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+a]+(!!a+a)[+!+a]+([!a]+a[a])[+!+a+[+a]]
                    +(a[a]+a)[+!+a]+(+!a+[!a]+(a+a)[(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+
                    !+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+
                    a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(
                    !!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)
                    [+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)
                    [+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+
                    a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(
                    !!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[!+a+!+a+[+a]]](!+a+!+a+!+a+[+!+a])[+!+
                    a]+(!!a+a)[!+a+!+a+!+a])()(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(
                    !!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]][(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+
                    a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!
                    +a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)
                    [!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a
                    +a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!
                    +a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[
                    +a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)
                    [!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]]((!!a+a)[+!+a]+(!!a+a)[!+
                    a+!+a+!+a]+(!!a+a)[+a]+(a[a]+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+!+a]+(+[!a]+a[(!a+a)
                    [+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!
                    a+a)[+!+a]])[+!+a+[+!+a]]+(!!a+a)[!+a+!+a+!+a]+(!a+a)[!+a+!+a+!+a]+(a[(!a+a)[+a]
                    +([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)
                    [+!+a]]+a)[!+a+!+a+!+a]+(!a+a)[+!+a]+(+(!+a+!+a+[+!+a]+[+!+a]))[(!!a+a)[+a]+(!!a
                    +a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a
                    +!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(+!a+(a+a)[(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]
                    +(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]
                    +(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+
                    a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)[!+a+!+a+!+a]+(!!a+a)
                    [+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+
                    !+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a)[+a]
                    +(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+
                    a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+a]+(!!
                    a+a)[+!+a]+([!a]+a[a])[+!+a+[+a]]+(a[a]+a)[+!+a]+(+!a+[!a]+(a+a)[(a[(!a+a)[+a]+(
                    [!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+
                    !+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(
                    !!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!a+a)
                    [!+a+!+a+!+a]+(!!a+a)[+a]+(!!a+a)[+!+a]+(a[a]+a)[+a]+(a[(!a+a)[+a]+([!a]+a[a])[+
                    !+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]]+a)[!+a
                    +!+a+!+a]+(!!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(
                    !!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]])[!+a+!
                    +a+[+a]]](!+a+!+a+!+a+[+!+a])[+!+a]+(!!a+a)[!+a+!+a+!+a])()((a+a)[([!a]+a[a])[+!
                    +a+[+a]]+(!!a+a)[+a]+(!a+a)[+!+a]+(!a+a)[!+a+!+a]+([!a]+a[a])[+!+a+[+a]]+(a[(!a+
                    a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(
                    !!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!a+a)[!+a+!+a+!+a]]()[+a])[+a]+(!+a+!+a+[+!+a])+a
                    )+(a+a)[(!a+a)[+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a
                    +a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(a[a]+a)[+!+a]+(!!a+a)[+
                    a]+(a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+
                    !+a+!+a]+(!!a+a)[+!+a]]+a)[!+a+!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]
                    +(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!a
                    +a)[!+a+!+a]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a
                    ]+(!!a+a)[!+a+!+a+!+a]+(!!a+a)[+!+a]])[+!+a+[+a]]+(!!a+a)[+!+a]]()[+!+a+[!+a+!+a
                    ]]+(!!a+a[(!a+a)[+a]+([!a]+a[a])[+!+a+[+a]]+(!a+a)[!+a+!+a]+(!!a+a)[+a]+(!!a+a)[
                    !+a+!+a+!+a]+(!!a+a)[+!+a]])[!+a+!+a+[+a]])()
                    
                    
                    • +1
                      Так он не эзотерический
                      • +1
                        И уж тем более если приплести в этот список javascript, то первым будет честнее поставить perl
                    • +1
                      Забыли упомянуть отечественную разработку
                      • 0
                        В принципе можно было упомянуть только его, и сразу стало бы понятно о чем статья
                      • 0

                        Очень интересно!!! А сколько в мире всего языков программирования? И если ли кто, кто знает их все? и вообще можно ли их все выучить?

                        • 0
                          Нет, потому что нельзя гарантировать, что вы знаете о всех существующих языках, и тем более имеете возможность их выучить. Каждый день кто-то может написать новый.

                          Ну а ещё это просто абсолютно бесполезное занятие.
                          • 0

                            Тут скорее даже сначала встает вопрос определения ЯП — что считать диалектом, а что уже отдельным языком. А то одних только фортов и лиспов бесчисленное множество.

                            • +1
                              «Язык — это диалект, у которого есть армия и флот» ©
                              • 0
                                Тоже верно.
                                • 0
                                  Все языки — это диалекты ассемблера машинных кодов. %)
                            • +3
                              Очень интересная статья, но должен признаться, что по первому взгляду на заголовок надеялся (хотя и догадывался, что так не будет, да и теги «как бы намекают») увидеть обзор не эзотерических, а как раз практичных и в то же время неординарных языков, не получивших (как вариан — пока не получивших) такой широкой известности как мэйнстримные, но достаточно интересные чтобы их потыкать и попробовать применить на практике не вывиха мозга ради, а красивого решения для. Если вдруг захотите написать и такое — было бы круто…
                              • 0
                                Не менее внушительной является цикличная программа «99bottles»

                                К сожалению, из-за отсутствия форматирования в данном куске кода абсолютно невозможно усмотреть цикл повторения символов исходника, равный размеру алфавита шифрования, т.е. 94. В оригинале это видно гораздо лучше.
                                И в целом интересной информации по языку в статье нема. А ведь рассказать есть про что: на Malbolge уже и квайн есть, и ROTR реализован, и японцы целые исследовательские статьи про генерацию программ написали. Но нет, из раза в раз один и тот же копипаст из статьи на вики, выправленной автором комментария еще в студенческие годы.

                                • 0
                                  Язык Chef напомнил старый пост "Самый страшный код в моей жизни".
                                  • –2
                                    а вот язык в котором управляющие конструкции были бы русским матом почему-то никто не сделал.
                                    А зря. Был бы крайне популярен, причем не только в IT отрасли.
                                    • –1
                                      Очень понравился Brainfuck. Сила в простоте))

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое