program traukinys;
{ 105 u‘davinys, 2 b–das }

  const MAX_N = 43; { maksimalus vagon— skai‡ius }
  type lentele = array [1..MAX_N] of longint;

  function vagonai (n: longint): longint;

    procedure fibonaci (n: longint; var fibo: lentele);
    { sudaro fibona‡io skai‡i— nuo 1 iki n lentelŠ }
      var i: longint;
    begin
      fibo[1] := 1; fibo[2] := 1;
      for i := 3 to n do
        fibo[i] := fibo[i-1] + fibo[i-2];
    end; { fibonaci }

    var kiek: longint;
        fibo: lentele;
  begin
    fibonaci (n, fibo);
    kiek := 0;
    if n > 5 then kiek := kiek + fibo[n-5];
    if n > 4 then kiek := kiek + 2 * fibo[n-4];
    if n > 3 then kiek := kiek + 3 * fibo[n-3];
    if n > 2 then kiek := kiek + 3 * fibo[n-2];
    if n > 1 then kiek := kiek + 2 * fibo[n-1];
    kiek := kiek + fibo[n];
    vagonai := kiek
  end; { vagonai }

  var n: longint;
begin
  readln (n);
  writeln (vagonai(n));
end.
