uses crt;
var min_st, st, buf:string;
i,min:integer;
f:boolean;
input:text;
begin
assign(input,'input.txt');
reset(input);
while not eof(input) do
begin
readln(input,st);
buf:=''; //здесь храним текущее слово, которое получили из строки
min_st:='';
min:=999;
for i:=1 to length(st) do
begin
if st[i]<>' ' then //если текущий символ не пробел
begin
buf := buf + st[i]; //то добавляем его в текущее слово
f:=true; //флаг обозначает, что мы пока добавляем символы в слово (то есть появилось новое необработанное слово)
end else begin //а если встретим пробел
if f then //если слово уже было прочитано
begin
if length(buf)<min then //то сравниваем с длиной наименьшего
begin
min_st:=buf;
min:=length(buf);
end;
f := false; //слово прочитали, оно больше не нужно
end;
buf := ''; //сброс
end;
end;
if buf<>'' then //после цикла текущее слово может быть не пустым, то есть не проверенным, его также проверяем
begin
begin
min_st:=buf;
min:=length(buf);
end;
buf:='';
end;
end;
close(input);
writeln(min_st);
readln;
end.