@big = 10 ** 9 + 7 @f_memo = [1, 1] (2..(10 ** 6 + 1)).each{|i| @f_memo[i] = @f_memo[i - 1] * i % @big} def f(x) @f_memo[x] end def C(n, k) return 0 if n < k f(n) / (f(k) * f(n - k)) % @big end def P(n, k) return 0 if n < k f(n) / f(n - k) % @big end def H(n, k) f(n + k - 1) / (f(k) * f(n - 1)) % @big end # == main == n = gets.to_i puts $<.map{|query| eval(query)}