program ghost;
var
str: string;
k: integer;
function isAlpha(ch: char) : boolean;
begin
isAlpha := ((ch >= 'a') and (ch <= 'z')) or ((ch >= 'A') and (ch <= 'Z'));
end;
function isDigit(ch: char) : boolean;
begin
isDigit := ((ch >= '0') and (ch <= '9'));
end;
function startWith(s: string; k: integer) : boolean;
var
i: integer;
result: boolean;
begin
result := true;
if (length(s) < (k + 1)) then
begin
result := false;
end
else
begin
for i := 1 to k do
begin
if (not isAlpha(s[i])) then
begin
result := false;
break;
end;
end;
if ((result <> true) and (ord(s[k + 1]) - ord('0') <> k)) then
begin
result := false;
end;
end;
startWith := result;
end;
begin
str := 'asd3';
k := 3;
writeln(startWith(str, k)); // true
writeln(startWith('asd', 3)); // false
writeln(startWith('asdf4', 4)); // true
end.
cHJvZ3JhbSBnaG9zdDsKdmFyCglzdHI6IHN0cmluZzsKCWs6IGludGVnZXI7CgkKCWZ1bmN0aW9uIGlzQWxwaGEoY2g6IGNoYXIpIDogYm9vbGVhbjsKCWJlZ2luCgkJaXNBbHBoYSA6PSAoKGNoID49ICdhJykgYW5kIChjaCA8PSAneicpKSBvciAoKGNoID49ICdBJykgYW5kIChjaCA8PSAnWicpKTsKCWVuZDsKCQoJZnVuY3Rpb24gaXNEaWdpdChjaDogY2hhcikgOiBib29sZWFuOwoJYmVnaW4KCQlpc0RpZ2l0IDo9ICgoY2ggPj0gJzAnKSBhbmQgKGNoIDw9ICc5JykpOwoJZW5kOwoJCQoJZnVuY3Rpb24gc3RhcnRXaXRoKHM6IHN0cmluZzsgazogaW50ZWdlcikgOiBib29sZWFuOwoJdmFyCgkJaTogaW50ZWdlcjsKCQlyZXN1bHQ6IGJvb2xlYW47CgliZWdpbgoJCXJlc3VsdCA6PSB0cnVlOwoJCWlmIChsZW5ndGgocykgPCAoayArIDEpKSB0aGVuCgkJYmVnaW4KCQkJcmVzdWx0IDo9IGZhbHNlOwoJCWVuZAoJCWVsc2UKCQliZWdpbgoJCQlmb3IgaSA6PSAxIHRvIGsgZG8KCQkJYmVnaW4KCQkJCWlmIChub3QgaXNBbHBoYShzW2ldKSkgdGhlbgoJCQkJYmVnaW4KCQkJCQlyZXN1bHQgOj0gZmFsc2U7CgkJCQkJYnJlYWs7CgkJCQllbmQ7CgkJCWVuZDsKCQkJaWYgKChyZXN1bHQgPD4gdHJ1ZSkgYW5kIChvcmQoc1trICsgMV0pIC0gb3JkKCcwJykgPD4gaykpIHRoZW4KCQkJYmVnaW4KCQkJCXJlc3VsdCA6PSBmYWxzZTsKCQkJZW5kOwkJCQoJCWVuZDsKCQlzdGFydFdpdGggOj0gcmVzdWx0OwoJZW5kOwpiZWdpbgoJc3RyIDo9ICdhc2QzJzsKCWsgOj0gMzsKCXdyaXRlbG4oc3RhcnRXaXRoKHN0ciwgaykpOyAvLyB0cnVlCgl3cml0ZWxuKHN0YXJ0V2l0aCgnYXNkJywgMykpOyAvLyBmYWxzZQoJd3JpdGVsbihzdGFydFdpdGgoJ2FzZGY0JywgNCkpOyAvLyB0cnVlCmVuZC4=