program hah;
var
i,j,k,n,a,b,ans:longint;
function jisuan(x,y:longint):longint;
var
t,i,j:longint;
begin
t:=0;
while (x<>1)or(y<>1) do
begin
if x>y then begin x:=x-y; end
else begin y:=y-x; end;
if (x=0)or(y=0) then exit(maxlongint);
inc(t);
end;
exit(t);
end;
begin
assign(input,'numpair.in');
assign(output,'numpair.out');
reset(input);
rewrite(output);
readln(n);
ans:=maxlongint;
for i:=n div 3 to n div 2 do
begin
k:=jisuan(n,i);
if ans>k then
ans:=k;
end;
writeln(ans);
close(input);
close(output);
end.