(define-symbol-macro нет nil)
(define-symbol-macro да t)
(defun антонирована-ли? (строка)
(let ((позиция 0)
(край (length строка))
(ширус (coerce "anton" 'list)))
(tagbody
поиск
(if (char= (car ширус)
(schar строка позиция))
(go попался-сука)
(go смотрим-дальше))
смотрим-дальше
(if (= (incf позиция) край)
(return-from антонирована-ли? Нет)
(go поиск))
попался-сука
(if (setf ширус (cdr ширус))
(go смотрим-дальше)
(return-from антонирована-ли? Да)))))
(format t "~:[Ширусов не найдено~;Achtung! Обнаружен anton в строк~:*~{~#[~;е номер ~a~:;ах с номерами: ~@{~a~^, ~}~]~}~]"
(loop :for номер :upfrom 1
:for строка := (read-line t nil) :while строка
:if (антонирована-ли? строка)
:collect номер))
KGRlZmluZS1zeW1ib2wtbWFjcm8g0L3QtdGCIG5pbCkKKGRlZmluZS1zeW1ib2wtbWFjcm8g0LTQsCAgdCkKCihkZWZ1biDQsNC90YLQvtC90LjRgNC+0LLQsNC90LAt0LvQuD8gKNGB0YLRgNC+0LrQsCkKICAobGV0ICgo0L/QvtC30LjRhtC40Y8gMCkKICAgICAgICAo0LrRgNCw0LkgKGxlbmd0aCDRgdGC0YDQvtC60LApKQogICAgICAgICjRiNC40YDRg9GBIChjb2VyY2UgImFudG9uIiAnbGlzdCkpKQogICAgKHRhZ2JvZHkKICAgICDQv9C+0LjRgdC6CiAgICAgICAoaWYgKGNoYXI9IChjYXIg0YjQuNGA0YPRgSkKICAgICAgICAgICAgICAgICAgKHNjaGFyINGB0YLRgNC+0LrQsCDQv9C+0LfQuNGG0LjRjykpCiAgICAgICAgICAgKGdvINC/0L7Qv9Cw0LvRgdGPLdGB0YPQutCwKQogICAgICAgICAgIChnbyDRgdC80L7RgtGA0LjQvC3QtNCw0LvRjNGI0LUpKQogICAgINGB0LzQvtGC0YDQuNC8LdC00LDQu9GM0YjQtQogICAgICAgKGlmICg9IChpbmNmINC/0L7Qt9C40YbQuNGPKSDQutGA0LDQuSkKICAgICAgICAgICAocmV0dXJuLWZyb20g0LDQvdGC0L7QvdC40YDQvtCy0LDQvdCwLdC70Lg/INCd0LXRgikKICAgICAgICAgICAoZ28g0L/QvtC40YHQuikpCiAgICAg0L/QvtC/0LDQu9GB0Y8t0YHRg9C60LAKICAgICAgIChpZiAoc2V0ZiDRiNC40YDRg9GBIChjZHIg0YjQuNGA0YPRgSkpCiAgICAgICAgICAgKGdvINGB0LzQvtGC0YDQuNC8LdC00LDQu9GM0YjQtSkKICAgICAgICAgICAocmV0dXJuLWZyb20g0LDQvdGC0L7QvdC40YDQvtCy0LDQvdCwLdC70Lg/INCU0LApKSkpKQoKKGZvcm1hdCB0ICJ+OlvQqNC40YDRg9GB0L7QsiDQvdC1INC90LDQudC00LXQvdC+fjtBY2h0dW5nISDQntCx0L3QsNGA0YPQttC10L0gYW50b24g0LIg0YHRgtGA0L7Qun46Kn57fiNbfjvQtSDQvdC+0LzQtdGAIH5hfjo70LDRhSDRgSDQvdC+0LzQtdGA0LDQvNC4OiB+QHt+YX5eLCB+fX5dfn1+XSIKICAobG9vcCA6Zm9yINC90L7QvNC10YAgOnVwZnJvbSAxCiAgICAgICAgOmZvciDRgdGC0YDQvtC60LAgOj0gKHJlYWQtbGluZSB0IG5pbCkgOndoaWxlINGB0YLRgNC+0LrQsAogICAgICAgIDppZiAo0LDQvdGC0L7QvdC40YDQvtCy0LDQvdCwLdC70Lg/INGB0YLRgNC+0LrQsCkKICAgICAgICAgICAgOmNvbGxlY3Qg0L3QvtC80LXRgCkp