{Name : Ceanga Andrei

School Name : "Dr. I. Mesota" National College

School Code : 7156

Contest : #3

Division : Senior 3}

program strings;

uses crt;

var i,j,k,p,n,x,er:integer;

    s,f,a,s1:string;

    d,aux:char;

    op:array[1..50] of string[10];

    ff:text;

procedure ls(a:string);

begin

  val(a,x,er);

  for i:=1 to length(s)-x do

    s[i]:=s[x+i];

  for i:=length(s)-x+1 to length(s) do s[i]:='#';

end;

procedure rs(a:string);

begin

  val(a,x,er);

  for i:=length(s)-x downto 1 do

    s[x+i]:=s[i];

  for i:=1 to x do s[i]:='#';

end;

procedure lc(a:string);

begin

  val(a,x,er);

  for i:=1 to x do

    begin

      s:=s+s[1];

      delete(s,1,1);

    end;

end;

procedure rc(a:string);

begin

  val(a,x,er);

  for i:=1 to x do

    begin

      s:=s[length(s)]+s;

      delete(s,length(s),1);

    end;

end;

procedure mc(a:string);

begin

  d:=a[4];

  delete(a,4,1);

  val(a,x,er);

  s1:=copy(s,x div 100,(x mod 100) div 10);

  if d='L' then

    begin

      for i:=1 to x mod 10 do

        begin

          s1:=s1+s1[1];

          delete(s1,1,1);

        end;

    end;

  if d='R' then

    begin

      for i:=1 to x mod 10 do

        begin

          s1:=s1[length(s1)]+s1;

          delete(s1,length(s1),1);

        end;

    end;

  for i:=1 to (x mod 100) div 10 do

    s[i+x div 100 - 1]:=s1[i];

end;

procedure rev(a:string);

begin

  val(a,x,er);

  s1:=copy(s,x div 10,x mod 10);

  for i:=1 to x mod 10 do

    s[i+x div 10 - 1]:=s1[length(s1)-i+1];

end;

procedure swap(a:string);

begin

  val(a,x,er);

  for i:=1 to (x mod 100) div 10 do

    begin

      d:=s[i+x div 100 - 1];

      s[i+x div 100 - 1]:=s[i+x mod 10 - 1];

      s[i+x mod 10 - 1]:=d;

    end;

end;

procedure sort(a:string);

var ii,jj:integer;

begin

  d:=a[length(a)];

  delete(a,length(a),1);

  val(a,x,er);

  s1:=copy(s,x div 10,x mod 10);

  if d='A' then

    begin

      for ii:=1 to length(s1)-1 do

        for jj:=ii+1 to length(s1) do

          if s1[ii]>s1[jj] then

            begin

              aux:=s1[ii];

              s1[ii]:=s1[jj];

              s1[jj]:=aux;

            end;

    end;

  if d='D' then

    begin

      for ii:=1 to length(s1)-1 do

        for jj:=ii+1 to length(s1) do

          if s1[ii]<s1[jj] then

            begin

              aux:=s1[ii];

              s1[ii]:=s1[jj];

              s1[jj]:=aux;

            end;

    end;

  for i:=1 to x mod 10 do

    s[i+x div 10 - 1]:=s1[i];

end;

begin

  clrscr;

  assign(ff,'INPUT.TXT');

  reset(ff);

  for k:=1 to 5 do

    begin

      readln(ff,s);

      i:=0;

      p:=1;

      while p<>0 do

        begin

          p:=pos('/',s);

          if p<>0 then

            begin

              inc(i);

              op[i]:=copy(s,1,p-1);

              delete(s,1,p);

            end;

        end;

      n:=i;

      for j:=1 to n do

        begin

          p:=pos('-',op[j]);

          f:=copy(op[j],1,p-1);

          a:=copy(op[j],p+1,length(op[j]));

          if f='LS' then ls(a)

            else if f='RS' then rs(a)

              else if f='LC' then lc(a)

                else if f='RC' then rc(a)

                  else if f='MC' then mc(a)

                    else if f='REV' then rev(a)

                      else if f='SWAP' then swap(a)

                        else if f='SORT' then sort(a);

        end;

      writeln(s);

    end;

  close(ff);

  readln;