program litere;
uses crt;
var a:char;
nrl:longint;
nrc:word;
f,g:text;
o:boolean;
begin
assign(f,'text.in');
assign(g,'text.out');
reset(f);
rewrite(g);
nrc:=0;
nrl:=0;
o:=false;
repeat
repeat
read(f,a);
if (a in ['A'..'Z'])or(a in['a'..'z'])then
begin
nrl:=nrl+1;
o:=true;
end
else
begin
if(o)and((a in['~','!','{','@','#','$','%','^','&','(',')','-','}',' '])or(a in['0','1','2','3','4','5','6','7','8','9'])) then
begin
nrc:=nrc+1;
o:=false;
end;
if (o)and(a in['|','"',':','+','?','=','<','>','.',',','/',';','[',']','\'])then
begin
nrc:=nrc+1;
o:=false;
end;
end;
until eoln(f);
readln(f);
until eof(f);
if o=false then
writeln(g,trunc(nrl/nrc))
else
writeln(g,trunc(nrl/(nrc+1)));
close(f);
close(g);
end.