Lang:Python2
Edit12345678910111213141516171819202122232425262728293031MODULE = 10 ** 9 + 7memo_1 = {}def get(n):if n <= 0:return 1if n not in memo_1:result = sum(get(i) * get(n-i-1) for i in xrange(n))memo_1[n] = result % MODULEreturn memo_1[n]memo_2 = {}def get_pair(n, k):if k == 0:return 0if k == 1:return get(n)if n == 0:return 1if (n, k) not in memo_2:result = sum(get(n-i) * get_pair(i, k-1) for i in xrange(n+1))memo_2[(n, k)] = result % MODULEreturn memo_2[(n, k)]while True:try: