How Many Trees?

A binary search tree is a binary tree with root k such that any node v reachable from its left has label(v) < label(k) and any node w reachable from its right has label(w) > label(k). It is a search structure which can find a node with label x in O(nlogn) average time, where n is the size of the tree (number of vertices). Given a number n, can you tell how many different binary search trees may be constructed with a set of numbers of size n such that each element of the set will be associated to the label of exactly one node in a binary search tree? Input The input will contain a number 1 ≤ i ≤ 1000 per line representing the number of elements of the set. Output You have to print a line in the output for each entry with the answer to the previous question. Sample Input 1 2 3 Sample Output 1 2 5