
var
  c: real;
  k, i, h, z, h2, z2, h3, z3, t, t2: int64;
  s: string;

begin
  i := 2;
  h := 1;
  z := 1;
  h2 := 2;
  z2 := 1;
  read(k);
  
  while (i < k) do
  begin
    h3 := h + h2;
    z3 := z + z2;
    t := h + h2;
    t2 := z + z2;
    h := h2;
    z := z2;
    h2 := t;
    z2 := t2;
    i := i + 1;
  end;
  c := h3 / z3;
  s := c.ToString;
  if (k = 1) then begin
    s := '1.';
    for i := 1 to 6 do s := s + '0';
  end else
  if (s.Length = 3) then begin
    s[2] := '.';
    for i := 1 to 5 do s := s + '0';
  end
  else
  if (s.Length = 5) then begin
    s[2] := '.';
    for i := 1 to 3 do s := s + '0';
  end
  else
  if (s.Length >= 8) then begin
    s[2] := '.';
    for i := 9 to s.Length do s[i] := ' ';
  end;
  if(k=1)then write('1.000000') else if (k=2)then write('2.000000')
  else
  write(s);
  
end.