{
TASK:minitime
LANG:PASCAL
}
program minitime;
var a:array[1..1000]of integer;
n,k,i,j,min,c:integer;
begin
k:=0;
readln(n);
for i:=1 to n do begin
for j:=1 to n do begin
if (i*j)=n then begin k:=k+1; a[k]:=i+j; end; end; end;
if k=0 then begin
c:=(n+1)div 2;
min:=c+2; end
else begin
min:=n;
for i:=1 to k do begin
if a[i]<min then min:=a[i]; end; end;
writeln(min);
end.
