YAPC(Yet Another Python Competition)::Russia::Golf

Правила 

YAPC::Russia::Golf — конкурс на решение задачи самым коротким способом, который проводится на конференции YAPC::Russia «May Perl — 2» 2009 16 и 17 мая 2009 года в Москве.

Задача

Помните старые игры Python, Snake? Нужно реализовать нечто похожее.

На первом шаге питон всегда размером 2 («x» — голова, «o» — тело) и находится примерно в центре поля.

Поле заполнено символами — (пустота) и 1 (яблоко). При съедании яблока тело питона вырастает на единичку.

Первые строки входных данных — игровое поле, последняя строка — команды движения lkjh (как в vi).

l — на одну клетку вправо, h — влево, k — вверх, j — вниз.

Гарантируется, что команды движения корректны: питон к границам поля не идёт, сам себя не пересекает и даже ни разу не подойдёт вплотную сам к себе, всегда оставит расстояние, т. к. не любит тесноты.

Задача: получив игровое поле и маршрут с stdin вывести в stdout конечное состояние поля c питоном.

Тестовый ввод:

--1-------------------------------------------
-1------------------------------------------1-
1---------------------------------------------
----------------------------------------------
-----------ox-11------------------------------
---------------11-----------------------------
----------------11-----11---------------------
-----------------11---11----------------------
------------------11-11-----------------------
-------------------111------------------------
----------------------------------------------
-1------------------------------------------1-
----------------------------------------------
llljljljljljllklklklkkkklljjjjjlllllkkkkhhhjjl

Тестовый вывод: ./python < input > output

--1-------------------------------------------
-1------------------------------------------1-
1-------------------------o-------------------
--------------------------o-oooo--------------
--------------------------o-o--o--------------
--------------------------o-ox-o--------------
--------------------------o----o--------------
--------------------------oooooo--------------
----------------------------------------------
----------------------------------------------
----------------------------------------------
-1------------------------------------------1-
----------------------------------------------

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

Выиграет самая короткая программа, прошедшая все тесты. Шебанг должен выглядеть как #!perl или #!perl -flags.

Ответы принимаются по адресу golf@yapcrussia.org до 15 часов 17 мая.