program maxfact (input,output);
var N , i, j : integer;
function fact (m : integer) : integer;
begin
if (m=0) or (m=1) then fact:=1
else fact:=fact(m-1)*m;
end;
begin
read(N);
i:=0;
if N=0 then writeln('1')
else
begin
while fact(i)<=N do i:=i+1;
j:=i-1;
writeln(j)
end;
end.
cHJvZ3JhbSBtYXhmYWN0IChpbnB1dCxvdXRwdXQpOwogICAgdmFyIE4gLCBpLCBqIDogaW50ZWdlcjsKZnVuY3Rpb24gZmFjdCAobSA6IGludGVnZXIpIDogaW50ZWdlcjsKYmVnaW4KICAgaWYgKG09MCkgb3IgKG09MSkgdGhlbiBmYWN0Oj0xCiAgICAgZWxzZSBmYWN0Oj1mYWN0KG0tMSkqbTsKZW5kOwogICAKYmVnaW4KICAgIHJlYWQoTik7CiAgICBpOj0wOwogICAgaWYgTj0wIHRoZW4gd3JpdGVsbignMScpCiAgICAgICBlbHNlCiAgICAgICAgYmVnaW4gCiAgICAgICAgICB3aGlsZSBmYWN0KGkpPD1OIGRvIGk6PWkrMTsKICAgICAgICAgIGo6PWktMTsKICAgICAgICAgIHdyaXRlbG4oaikKICAgICAgICBlbmQ7CmVuZC4=