#! ruby # yukicoder My Practice # author: Leonardone @ NEETSDKASU # last # ケン # ケンケン # ケンパ # ケンケンパ # interval # ケンパ # ケンケンパ # n = 1 # ケン # n = 2 # ケンケン # ケンパ # n = 3 # ケンパケン # ケンケンパ # n = 4 # ケンパケンパ # ケンパケンケン # ケンケンパケン n = gets.to_i MD = (10 ** 9) + 7 def cmb(n, c) r = 1 c = [c, n - c].min c.times do |i| r *= n - i r /= (i + 1) end r % MD end def fnc(n) c = 0 i = 0 while n >= 0 do d, m = n.divmod 2 if m == 0 c = (c + cmb(d + i, i)) % MD end i += 1 n -= 3 end c end c = fnc(n) + fnc(n - 1) + fnc(n - 2) puts (c % MD)