def p
(a
: String,b
: String
)={type D
=List
[Char
] val d
="0123456789".
toList def v
(s
: String
)=s.
toList.
map{c⇒d.
takeWhile(c.
!=)} case _::_::_::_::_::_::_::_::_::_::m⇒u
(m,
'a'::a
) case _⇒
(('a'::l
).
zip(d
).
last.
_2,a
)} val o
=(("", List
[Char
]())/
:v
(a
).
tails.
toList.
init.
map{l⇒
(v
(b
) map
{_.
flatMap(_⇒l.
head)})++l.
tail.
map(_⇒Nil
) reverse
}.
reduce(_.
zipAll(_, Nil, Nil
).
map{t⇒t.
_1++t.
_2
}))({(t,e
)⇒
val s
=u
(t.
_2++e,Nil
);(s.
_1+t.
_1,s.
_2
)}) u(o._2, Nil)._1+o._1}
}
b2JqZWN0IE1haW4gZXh0ZW5kcyBBcHAgewoJZGVmIHAoYTogU3RyaW5nLGI6IFN0cmluZyk9e3R5cGUgRD1MaXN0W0NoYXJdCnZhbCBkPSIwMTIzNDU2Nzg5Ii50b0xpc3QKZGVmIHYoczogU3RyaW5nKT1zLnRvTGlzdC5tYXB7Y+KHkmQudGFrZVdoaWxlKGMuIT0pfQpkZWYgdShsOkQsIGE6RCk6KENoYXIsRCk9bCBtYXRjaCB7CmNhc2UgXzo6Xzo6Xzo6Xzo6Xzo6Xzo6Xzo6Xzo6Xzo6Xzo6beKHknUobSwnYSc6OmEpCmNhc2UgX+KHkigoJ2EnOjpsKS56aXAoZCkubGFzdC5fMixhKX0KdmFsIG89KCgiIiwgTGlzdFtDaGFyXSgpKS86dihhKS50YWlscy50b0xpc3QuaW5pdC5tYXB7bOKHkih2KGIpIG1hcCB7Xy5mbGF0TWFwKF/ih5JsLmhlYWQpfSkrK2wudGFpbC5tYXAoX+KHkk5pbCkgcmV2ZXJzZX0ucmVkdWNlKF8uemlwQWxsKF8sIE5pbCwgTmlsKS5tYXB7dOKHknQuXzErK3QuXzJ9KSkoeyh0LGUp4oeSdmFsIHM9dSh0Ll8yKytlLE5pbCk7KHMuXzErdC5fMSxzLl8yKX0pCnUoby5fMiwgTmlsKS5fMStvLl8xfQp9