package
shift;$
shift=[
shift,' ',xm,a];@
shift=(A,B,["",o],
"shift::shift","u",x,["",r],
"shift::shift",);sub
shift{return
shift unless
shift;&{
shift}(
shift()?@{
shift}:(@{
shift},
shift)).
shift.&{
shift}(
shift()?@{
shift}:(@{
shift},
shift));}
package main;@
shift=(C,
shift,[0,r,l],
'shift::shift',l,"",[O,"",[O,"",$
shift::shift,
'::shift',J,
shift,[@
shift::shift],
'shift::shift'],
'::shift',n,
shift,[
shift,a.
::shift(
shift,l)],
'shift::shift'],
'::shift');sub
shift{return
shift unless
shift;&{
shift}(
shift()?(@{
shift},
shift):@{
shift}).
shift.&{
shift}(
shift()?(
@{shift},
shift):@{
shift});}$
shift=[
shift,e,xm,a];print
shift::shift(C,a,[0,T,l],
'shift::shift',h,o,[O,"",$
shift,
'::shift',
::shift(A,
shift,[""," "],
"shift::shift","P",0,["",e],
"shift::shift",),1,$
shift,
'::shift'],
'::shift');
