def catalan_number(num):  
    if num <=1:  
         return 1  
     
    res_num = 0  
    for i in range(num):  
        res_num += catalan_number(i) * catalan_number(num-i-1)  
    return res_num  
   
for n in range(10):  
    print(catalan_number(n)) 

    # In combinatorial mathematics, the Catalan numbers form a sequence of natural numbers that occur in various counting problems, often involving recursively-defined objects. They are named after the Belgian mathematician Eugène Charles Catalan (1814–1894).

Catalan number
The first Catalan numbers for n = 0, 1, 2, 3, … are 
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, ....