var
s:string;
cl,cr:integer;
procedure right(l, r : integer);
forward;
procedure swap(l, r : integer);
var
c : char;
begin
if (l>=1) and (r<=length(s)) then
begin
c:=s[l];
s[l]:=s[r];
s[r]:=c;
end;
end;
procedure left(l, r : integer);
begin
inc(cl);
swap(l,r);
if (r<length(s)) then
right(l,r+1);
end;
procedure right(l, r : integer);
begin
inc(cr);
swap(l,r);
if (l>1) then
left(l-1,r);
end;
begin
s:='gogetgold';
left(5,5);
writeln(s);
writeln(cl,',',cr);
end.
dmFyCiBzOnN0cmluZzsKIGNsLGNyOmludGVnZXI7Cgpwcm9jZWR1cmUgcmlnaHQobCwgciA6IGludGVnZXIpOwpmb3J3YXJkOwoKcHJvY2VkdXJlIHN3YXAobCwgciA6IGludGVnZXIpOwp2YXIKIGMgOiBjaGFyOwpiZWdpbgogaWYgKGw+PTEpIGFuZCAocjw9bGVuZ3RoKHMpKSB0aGVuCiBiZWdpbgogYzo9c1tsXTsKIHNbbF06PXNbcl07CiBzW3JdOj1jOwogZW5kOwplbmQ7Cgpwcm9jZWR1cmUgbGVmdChsLCByIDogaW50ZWdlcik7CmJlZ2luCiBpbmMoY2wpOwogc3dhcChsLHIpOwogaWYgKHI8bGVuZ3RoKHMpKSB0aGVuCiByaWdodChsLHIrMSk7CmVuZDsKCnByb2NlZHVyZSByaWdodChsLCByIDogaW50ZWdlcik7CmJlZ2luCiBpbmMoY3IpOwogc3dhcChsLHIpOwogaWYgKGw+MSkgdGhlbgogbGVmdChsLTEscik7CmVuZDsKCmJlZ2luCiBzOj0nZ29nZXRnb2xkJzsKIGxlZnQoNSw1KTsKIHdyaXRlbG4ocyk7CiB3cml0ZWxuKGNsLCcsJyxjcik7CmVuZC4=