rendered paste bodyfunction FindNextDirectionPos(Sequence: string): Integer;
var
UPos, DPos, LPos, RPos, SoFarMinimum: Integer;
LeaveOutFirstChar: string;
begin
LeaveOutFirstChar:= copy(Sequence, 2, Length(Sequence));
Writeln('Left out first char: ' + LeaveOutFirstChar);
UPos:= pos('U', LeaveOutFirstChar);
Writeln('Upos:= ' + IntToStr(UPos));
DPos:= pos('D', LeaveOutFirstChar);
Writeln('Dpos:= ' + IntToStr(DPos));
LPos:= pos('L', LeaveOutFirstChar);
Writeln('Lpos:= ' + IntToStr(LPos));
RPos:= pos('R', LeaveOutFirstChar);
Writeln('Rpos:= ' + IntToStr(RPos));
if(not(UPos <= 0) and not(DPos <= 0))then
begin
Result:= Min(UPos, DPos);
SoFarMinimum:= Min(UPos, DPos);
end;
Writeln('Current Result1:= ' + IntToStr(Result));
if(not(UPos = 0) and not(LPos = 0))then
if(SoFarMinimum >= Min(UPos, LPos))then
begin
Result:= Min(DPos, LPos);
SoFarMinimum:= Min(DPos, LPos);
end;
Writeln('Current Result2:= ' + IntToStr(Result));
if(not(UPos = 0) and not(RPos = 0))then
if(SoFarMinimum >= Min(UPos, RPos))then
begin
Result:= Min(UPos, RPos);
SoFarMinimum:= Min(UPos, RPos);
end;
Writeln('Current Result3:= ' + IntToStr(Result));
if(not(DPos = 0) and not(LPos = 0))then
if(SoFarMinimum >= Min(DPos, LPos))then
begin
Result:= Min(DPos, LPos);
SoFarMinimum:= Min(DPos, LPos);
end;
Writeln('Current Result4:= ' + IntToStr(Result));
if(not(DPos = 0) and not(RPos = 0))then
if(SoFarMinimum >= Min(DPos, RPos))then
begin
Result:= Min(DPos, RPos);
SoFarMinimum:= Min(DPos, RPos);
end;
Writeln('Current Result5:= ' + IntToStr(Result));
if(not(LPos = 0) and not(RPos = 0))then
if(SoFarMinimum >= Min(LPos, RPos))then
Result:= Min(LPos, RPos);
Writeln('Current Result6:= ' + IntToStr(Result));
end;
begin
Writeln(inttostr(FindNextDirectionPos('U12DRL')));
end.